function setSearchOptionRange(idstr) {
	
	var minv = $(idstr+'_settings_minv').value.toInt();
	var maxv = $(idstr+'_settings_maxv').value.toInt();
	var step = $(idstr+'_settings_step').value.toInt();
	var dstartv = $(idstr+'_settings_dstartv').value.toInt();
	var dendv = $(idstr+'_settings_dendv').value.toInt();
	
	var steps = (maxv - minv) / step;
		
	if($(idstr+'_start')) {

		var el = $(idstr+'_start');
	
		var sl1 = new Slider(el, el.getElement('.knob'), {
			steps: steps,
			range: [minv, maxv],
			onChange: function(value){

				if((value <= (maxv - step) && $(idstr+'_end')) || (value <= maxv && !$(idstr+'_end'))) {
					$(idstr+'_start_show_value').innerHTML = value;
					$(idstr+'_start_value').value = value;
				} else
					sl1.set(value - step);

				try {
					if($(idstr+'_start_value').value.toInt() >= $(idstr+'_end_value').value.toInt())
						sl2.set(value+step);
				} catch(e) {}

			}
		});

		sl1.set(dstartv);
	}
	

	if($(idstr+'_end')) {
		var el2 = $(idstr+'_end');

		var sl2 = new Slider(el2, el2.getElement('.knob'), {
			steps: steps,
			range: [minv, maxv],
			onChange: function(value){

				if((value >= (minv + step) && $(idstr+'_start')) || (value >= minv && !$(idstr+'_start'))) {
					$(idstr+'_end_show_value').innerHTML = value;
					$(idstr+'_end_value').value = value;
				} else
					sl2.set(value + step);

				try {
					if($(idstr+'_start_value').value.toInt() >= $(idstr+'_end_value').value.toInt())
						sl1.set(value-step);
				} catch(e) {}


			}
		});

		sl2.set(dendv);
	}
	

}



var ils = new Array();
var ts = new Array();
var lts = new Array();
var fts = new Array();
var ics = new Array();
var icsc = new Array();
var timer = new Array();
var imgconeff = new Array();
var firsttime = true;

function setImageLoop(idstr, ix, lt, ft) {

	if($('img_pager_container_'+idstr)) {
	
		ics[idstr] = $('img_pager_container_iip_'+idstr).value;
		
		var ttl = Math.ceil(ics[idstr]/2);
		
		if(ix > 0)
			icsc[idstr] = ix-1;		
		else  
			icsc[idstr] = 0;
		
		
		var allinput = $$("#img_pager_"+idstr+" li");	
			
		var size = $(allinput[0]).getSize();
		
		var maxmargin = 0;
		if(allinput.length > ics[idstr])
			maxmargin = (allinput.length - (ics[idstr])) * -1 * size.x;
		
		var margin = (icsc[idstr]-ttl) * -1 * size.x;
		
		if(margin < maxmargin)
			margin = maxmargin;
		
				
		//$('img_pager_container_'+idstr).style.width = (ics[idstr]*size.x)+'px';
		$('img_pager_container_'+idstr).style.overflow = 'hidden';
		//$('img_pager_'+idstr).style.width = (allinput.length*size.x)+'px';
		
	}
	
	if(ts[idstr])
		ts[idstr] = clearInterval(ts[idstr]);
	if(timer[idstr])
		clearTimeout(timer[idstr]);

	if(imgconeff[idstr])
		imgconeff[idstr].cancel();

	
	if(ix >= 0) 
		ils[idstr] = ix;
	else 
		ils[idstr] = 1;
	
	if(lt) 
		lts[idstr] = lt;
	if(ft) 
		fts[idstr] = ft;
		
	runImageLoop(idstr);
	
	ts[idstr] = (function() {runImageLoop(idstr)}).periodical(lts[idstr].toInt());
}


function setImageLoopNext(idstr) {

	ts[idstr] = clearInterval(ts[idstr]);

	var ix = ils[idstr];
	
	setImageLoop(idstr, ix)
}


function setImageLoopPrevious(idstr) {

	ts[idstr] = clearInterval(ts[idstr]);

	var ix = ils[idstr];
	
	ix = ix - 2;
	
	setImageLoop(idstr, ix)
}



function runImageLoop(idstr) {

	var allinput = $$("div.img_container");	
	
	var es = new Array();
	
	for (var i=0;i<allinput.length;i++) {
		
		var eid = allinput[i].id;
		
		if(eid.indexOf('img_container_'+idstr+'_') > -1) {
		
			es[es.length] = allinput[i];
		
		}			
	}
	
	if(ics[idstr] > 0) { 
		
		icsc[idstr] = icsc[idstr]+1;
		
		imgconeff[idstr] = new Fx.Tween('img_pager_'+idstr, {
		    duration: 'normal',
		    link: 'cancel',
		    property: 'marginLeft',
		    transition: 'linear'
		});
		
		
		var allinput2 = $$("#img_pager_"+idstr+" li");	
		
		var size = $(allinput2[0]).getSize();

		
		var maxmargin = 0;
		if(allinput2.length > ics[idstr])
			maxmargin = (allinput2.length - (ics[idstr])) * - size.x;
			
		var ttl = Math.ceil(ics[idstr]/2);
		var ttr = Math.floor(ics[idstr]/2)-1;
		
		var currentmargin = $('img_pager_'+idstr).style.marginLeft.toInt();
		
		if(icsc[idstr] >= allinput2.length) {
		
			imgconeff[idstr].start(currentmargin, maxmargin);
			
			timer[idstr] = (function() {imgconeff[idstr].start(currentmargin, 0)}).delay(lts[idstr]);
			icsc[idstr] = 0;
			
		} else if(icsc[idstr] > ttl && icsc[idstr] < (allinput2.length-ttr)) {
		
			var newmargin = (icsc[idstr]-ttl) * -1 * size.x;
			
			imgconeff[idstr].start(currentmargin, newmargin);
			
			
		} else if(icsc[idstr] > ttl) {
		
			imgconeff[idstr].start(currentmargin, maxmargin);
			
		} else {
		
			imgconeff[idstr].start(currentmargin, 0);
			
		}
		
		//alert("index: "+icsc[idstr]+"\nttl: "+ttl+"\nttr: "+ttr+"\ncurrentmargin: "+currentmargin+"\nnewmargin: "+newmargin+"\nmaxmargin: "+maxmargin+"\n")
			
		

	}
		
	if(es.length < ils[idstr])
		ils[idstr] = 1;	
		
	if(1 > ils[idstr])
		ils[idstr] = 1;	
	
	for (var i=0;i<es.length;i++) {		
					
		var eid = es[i].id;
			
		if(eid == 'img_container_'+idstr+'_'+ils[idstr]) {
		
			if($('img_link_'+idstr+'_'+ils[idstr]))
				$('img_link_'+idstr+'_'+ils[idstr]).set('class', 'img_pager_active');
			
			$(eid).style.display = 'block';

     		  	new Fx.Morph(eid, {duration: fts[idstr].toInt()}).start({'opacity':1}); 
     		  	
     		  	var myElement = $(eid).getElement('img');
     		  	
			$(eid).style.display = 'block';

     		  	new Fx.Morph($('img_wrapper_'+idstr), {duration: fts[idstr].toInt()}).start({'height':myElement.height.toInt()}); 
		
			
		} else {
		
			if($('img_link_'+idstr+'_'+(i+1)))
				$('img_link_'+idstr+'_'+(i+1)).set('class', '');
						
     		  	new Fx.Morph(eid, {duration: fts[idstr].toInt()}).start({'opacity':0}); 			
		}
		
	}

	ils[idstr] = ils[idstr] + 1;
	
}


function pauseImageLoop(idstr) {

	ts[idstr] = clearInterval(ts[idstr]);

	if(timer[idstr])
		clearTimeout(timer[idstr]);

	if(imgconeff[idstr])
		imgconeff[idstr].cancel();

}


function resumeImageLoop(idstr) {

	ts[idstr] = (function() {runImageLoop(idstr)}).periodical(lts[idstr].toInt());
}







var myFx;
var myTimer;

function showSiteControlPanel() {

	myTimer = clearInterval(myTimer);

	if(myFx)
		myFx.cancel();
		
	
	myFx = new Fx.Tween($('sitecontrolpanel'), {duration: '250'});
	
	myTimer = myFx.start.pass(['top', '0px'], myFx).delay(300);
}


function hideSiteControlPanel() {

	myTimer = clearInterval(myTimer);

	if(myFx)
		myFx.cancel();
		
	
	myFx = new Fx.Tween($('sitecontrolpanel'), {duration: '500'});
	
	myTimer = myFx.start.pass(['top', '-'+($('sitecontrolpanel').offsetHeight -5)+'px'], myFx).delay(300);


}


function loadTweets(cid) {

	var myRequest = new Request.HTML({url: cu, data: 'action=loadtweets&cid='+cid, onComplete: function(responseTree, responseElements,responseHTML, responseJavaScript){ $('tweetcontainer_'+cid).innerHTML = responseHTML; }}).get();

}



/* calendar stuff is also present in script.stuff.js  */

var delaycheck = new Array();

function showElement(eid) {
	delaycheck[eid] = false;
	$(eid).setStyle('display', 'block');
}


function hideElement(eid, dt) {
	delaycheck[eid] = true;
	
	dt = parseInt(dt);
	
	(function() {if(delaycheck[eid]){$(eid).setStyle('display', 'none');delaycheck[eid] = false;}}).delay(dt);
}




var accsizes = new Array();
var accmenus = new Array();
var hidemenus = new Array();
var accid = new Array();

var fxopacity = new Array();

var menuidgl;
var liidgl;
var acctimer;

function setMenuAccordion(menuid) {

	accid = menuid;

	var uls = $$('#'+menuid+' ul');
	var ulsl = uls.length;
	var y = 0;
		
	for(var i = 0;i < ulsl;i++){
		
		var size = $(uls[i]).getSize();
		
		accmenus[i] = uls[i];
		
		if(uls[i+1] && (uls[i+1].id).indexOf(uls[i].id+'_') > -1) {
			var size2 = $(uls[i+1]).getSize();
			accsizes[uls[i].id] = size.y - size2.y;
		} else		
			accsizes[uls[i].id] = size.y;
		
		
		var parentli = uls[i].getParent();
		var parentliclass = parentli.getProperty('class');
		   		
   		var pos1 = parentliclass.indexOf('active');   	
   		var pos2 = parentliclass.indexOf('activechild');
   		
				
		uls[i].style.overflow = 'hidden';
		
		fxopacity[uls[i].id] = new Fx.Morph(uls[i], {duration: 250, transition: 'linear'}); 
				
		if(pos1 == -1 || pos2 > -1) {
			hidemenus[y] = uls[i];
     			y++;			
		}

		
	}
		
	for(var i = 0;i < hidemenus.length;i++) {		
		
		hidemenus[i].style.display = 'none';
		hidemenus[i].style.height = 0;	
	}
	
	
	var lis = $$('#'+menuid+' span.accordionswitch');
	var lisl = lis.length;
		
	for(var i = 0;i < lisl;i++) {		
		
		$(lis[i]).addEvent('click', function(event){toggleAccordion(this.getParent().id);return false;});		
	}
}



function toggleAccordion(liid) {

	try {
		clearTimeout(acctimer);
	} catch(e) {
	
	}
	
	menuidgl = $(liid).getParent().id;
	liidgl = liid;
	
	var uls = $$('#'+accid+' ul');
	var ulsl = uls.length;
		
	for(var i = 0;i < ulsl;i++){
		
   		var pos1 = (accid+'_'+liid).indexOf(uls[i].id);    		
		
		if(pos1 == -1) {
		
			fxopacity[uls[i].id].start({'height':0}); 
     			uls[i].fade('out');
			
			acctimer = (function(){this.style.display = 'none';}).delay(250, uls[i]);
		}
     		
	}
		
			
	
	uls = $$('#'+liid+' ul');
	ulsl = uls.length;
		
	for(i = 0;i < ulsl && i < 1;i++) {
		
		uls[i].style.display = 'block';		
		
     		fxopacity[uls[i].id].start({'height': accsizes[accid+'_'+liid].toInt()});      		
     		uls[i].fade('in');
     		
     		var counter = accmenus.length;
     		
     		for(var x = 0;x < counter;x++) {
     		
     			if((accid+'_'+liid).indexOf(accmenus[x].id+'_') > -1) {
     			     				
     				fxopacity[accmenus[x].id].start({'height': (accsizes[accid+'_'+liid].toInt() + accsizes[accmenus[x].id].toInt())}); 
     			}
     			
     		}
		
	}
}


var ddid;

function setMenuDropDown(menuid) {

	ddid = menuid;

	var uls = $$('#'+menuid+' ul');
	var ulsl = uls.length;
	var y = 0;
		
	for(var i = 0;i < ulsl;i++) {
		
		uls[i].style.display = 'none';
		uls[i].getParent().style.position = 'relative';
		uls[i].style.position = 'absolute';
	}
		
	
	
	
	var lis = $$('#'+menuid+' li');
	var lisl = lis.length;
		
	for(var i = 0;i < lisl;i++) {		
		
		$(lis[i]).addEvent('mouseover', function(event){showSubMenu(this.id);});
		$(lis[i]).addEvent('mouseout', function(event){hideSubMenu(this.id);});		
	}
}


function showSubMenu(liid) {

	if($(liid+'_sm'))
		$(liid+'_sm').style.display = 'block';
}

function hideSubMenu(liid) {

	if($(liid+'_sm'))
		$(liid+'_sm').style.display = 'none';

}

var cieids = new Array();

function setCalendarInfoEvents() {

	var cdis = $$('.cdayinfo');
	var cdisl = cdis.length;
	var y = 0;
		
	for(var i = 0;i < cdisl;i++) {

		var td = cdis[i].getParent().getParent();
					
		td.addEvent('mouseover', function(event){showElement(this.id + '_info');});
		td.addEvent('mouseout', function(event){hideElement(this.id + '_info');});
	}

}


function goToCp() {


}

/* same datepicker functions as in script.cp, not in common in case different styles... */
function setDatePicker(eid) {	
	
	var dp = new DatePicker(eid, {pickOnly: 'days', positionOffset: {x: 0, y: 0}, pickerClass: 'datepicker_dashboard', format: "%Y-%m-%d", draggable: false});	
}


function setDateAndTimePicker(eid) {	
	
	var dp = new DatePicker(eid, {timePicker: true, positionOffset: {x: 0, y: 0}, pickerClass: 'datepicker_dashboard', format: "%Y-%m-%d %H:%I:%S", draggable: false});	
}


function setTimePicker(eid) {
	
	var dp = new DatePicker(eid, {pickOnly: 'time', positionOffset: {x: 0, y: 0}, pickerClass: 'datepicker_dashboard', format: "%H:%M", draggable: false});	
}



function setToSameHeight(els, correction) {

	var count = els.length;
	var size;
	var highest = 0;
		
	for(var i = 0;i < count;i++) {
		size = $(els[i]).getSize();
		
		if(size.y > highest) {
			highest = size.y;
		}
	}
		
	for(var i = 0;i < count;i++) {
	
		$(els[i]).style.height = highest-correction+'px';
	}
	
}



 
if (Browser.ie6) {
    
    
	var myRequest = new Request.HTML({url: './', data: 'action=getie6warning', onComplete: function(responseTree, responseElements,responseHTML, responseJavaScript){ if(responseHTML) alert(responseHTML)}}).get();
    
}


function generatePassword() {

	var myRequest = new Request.HTML({url: './', data: 'action=generatepassword', onComplete: function(responseTree, responseElements,responseHTML, responseJavaScript){
	
		$('upassword').value = responseHTML
	
	}}).get();

}


function pingUser() {    

	pingUserCall();

	(function() {pingUserCall()}).periodical(10000);

}


function pingUserCall() {    

    
	var myRequest = new Request.HTML({url: './', data: 'action=pinguser'}).get();//, onComplete: function(responseTree, responseElements,responseHTML, responseJavaScript){ if(responseHTML) alert(responseHTML)}

}

