// JavaScript Document
var xmlhttps= new Array();

function loadXMLdoc(url, id, attente, postvars) {
	var i= xmlhttps.length;

	if ( attente != null ) {
		document.getElementById(id).innerHTML= attente;
	}
	
	if(window.XMLHttpRequest) {/*Mozilla*/
		xmlhttps[i]= new XMLHttpRequest();
		xmlhttps[i].onreadystatechange= function() { xmlhttpChange(i, url, id); };
		
		if ( postvars != null ) {

			xmlhttps[i].open("POST", url, true);
			xmlhttps[i].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			xmlhttps[i].send(postvars);
		} else {
			xmlhttps[i].open("GET", url, true);
			xmlhttps[i].send(null);
		}
	}
	else if(window.ActiveXObject) {/*IE*/
		xmlhttps[i]= new ActiveXObject("Microsoft.XMLHTTP");
		if(xmlhttps[i]) {
			xmlhttps[i].onreadystatechange= function() { xmlhttpChange(i, url, id); };
			if ( postvars != null ) {
				xmlhttps[i].open("POST", url, true);
				xmlhttps[i].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xmlhttps[i].send(postvars);
			}
			else {
				xmlhttps[i].open("GET", url, true);
				xmlhttps[i].send();
			}
		}
	}
}

function xmlhttpChange(i, url, id) {
	if(xmlhttps[i].readyState==4) {/*complete*/
		if(xmlhttps[i].status < 400) {
			divreturn = document.getElementById(id)
			
			divreturn.innerHTML = null;
			divreturn.innerHTML= '<div style="display:none">Retour</div>'+xmlhttps[i].responseText;
			execJS(divreturn);
			
		}
		else {
			document.getElementById(id).innerHTML= "[<span title=\""+url+"\">Erreur "+xmlhttps[i].status+"</span>]";
		}
	}
}

function ajax_feed_preview() {
	var form = document.frmnewfeed;

	postvars = 'feed_url=' + encodeURIComponent(form.feed_url.value);

	$('previewfeed').setStyle('display', 'block');
	$('previewfeed').setHTML('<div class="waiter">'+trad_wait+'<br/><br/><div class="iloader"></div></div>');
	new Ajax('/users/previewfeed/', {update: 'previewfeed', postBody: postvars, evalScripts: true}).request();
}

function add_feed(type,data) {
	var form = document.frmaddfeed;
	postvars = 'feed_url=' + encodeURIComponent(form.feed_url.value)+'&feed_category='+form.category.options[form.category.selectedIndex].value;
	
	$('previewfeed').setHTML('<div class="waiter">'+trad_wait+'<br/><br/><div class="iloader"></div></div>');

	if ( type == 'new' ) {
		new Ajax('/users/addfeed/new/', {update: 'previewfeed', postBody: postvars, evalScripts: true}).request();
		
	}
	else if ( type == 'old' ) {
		new Ajax('/users/addfeed/old/', {update: 'previewfeed', postBody: postvars, evalScripts: true}).request();
		
	}

}

function delete_feed(id) {
	// Scriptaculous here, because mootools doesn't have sortable yet
	postvars = '';
	var result = confirm(trad_confirm_remove_feed);
	if ( result ) {
		loadXMLdoc('/users/delfeed/' + id, 'divstatus', '', postvars);
	}	
}

function perm_delete_feed(id) {
	postvars = '';
	var result = confirm(trad_confirm_delete_feed);
	if ( result ) {
		new Ajax('/users/permdelfeed/' + id, {update: 'divstatus', evalScripts: true}).request();
	}
}

function edit_feed(id, category) {
	postvars = 'feed_id=' + id + '&category=' + category;
	$('divedit').setHTML('<div class="waiter">'+trad_wait+'<br/><br/><div class="iloader"></div></div>');
	new Ajax('/users/editfeed/', {update: 'divedit', postBody: postvars}).request();
}

function savelist() {
	// No Ajax() class here. using old school (sortable / mootools)
	postvars = Sortable.serialize('feedsarrangeinner');
	document.getElementById('previewfeed').style.display = "block";
	loadXMLdoc('/users/savearrange/', 'divstatus', '', postvars);
}

function info(feed_id, addtop, addleft) {
	if ( typeof addtop == 'undefined' ) {
		addtop = 0;
	}
	if ( typeof addleft == 'undefined' ) {
		addleft = 0;
	}
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	var infotop = (arrayPageScroll[1] + (arrayPageSize[3] / 15)) + 50;

	$('feedinfo').setHTML('<div class="waiter" style="height:100%" id="waitingdiv">'+trad_wait+'<br/><br/><div class="iloader"></div></div>');

	$('feedinfo').setStyles({'opacity': 1,'height':'0', 'top': Math.floor(infotop + addtop) + 'px', 'left': Math.floor((arrayPageSize[0] - 500 + addleft)/2) + 'px', 'display': 'block'});
	var myEffect = new fx.Height($('feedinfo') , {duration: 1000, transition: fx.Transitions.backOut,onComplete: function() {
						new Ajax('/news/feed_info/'+feed_id, {update: 'feedinfo', method:'get'}).request();
					}});
	myEffect.custom(0,200);
}

function info_close() {
	infobox = document.getElementById('feedinfo');
	var myEffect = new fx.Opacity(infobox , {duration: 300});
	
	myEffect.toggle();	
}

function links_chg(uri) {
	$('listpanel').setHTML('<div class="waiter">'+trad_wait+'<br/><br/><img src="/img/loader2.gif" /></div>');	
	new Ajax('/links/_ajax/'+uri, {update: 'listpanel', evalScripts: true}).request();
}

function links_delicious() {
	var form = document.frmimport;
	if ( form.privdel.checked ) {
		priv = 1;
	}
	else {
		priv = 0;
	}
	$('importdelicious').setHTML('<div class="waiter">'+trad_wait+'<br/><br/><div class="iloader"></div></div>');
	postvars = 'logindel=' + encodeURIComponent(form.logindel.value)+'&passdel=' + encodeURIComponent(form.passdel.value)+'&privdel='+priv;
	new Ajax('/users/_import_delicious/', {update: 'importdelicious', evalScripts: true, postBody: postvars}).request();
}

function links_private(link_id, div) {
	$(div).setHTML('<div class="ismallloader"></div>');
	new Ajax('/links/_ajax/private/'+link_id, {update: div, evalScripts: true}).request();
	
}

function links_public(link_id, div) {
	$(div).setHTML('<div class="ismallloader"></div>');
	new Ajax('/links/_ajax/public/'+link_id, {update: div, evalScripts: true}).request();
}

function links_heart(link_id, div) {
	$(div).setHTML('<div class="ismallloader"></div>');
	new Ajax('/links/_ajax/heart/'+link_id, {update: div, evalScripts: true}).request();	
}

function links_unheart(link_id, div) {
	$(div).setHTML('<div class="ismallloader"></div>');
	new Ajax('/links/_ajax/unheart/'+link_id, {update: div, evalScripts: true}).request();

}

function feeds_hp(feed_id, div) {
	$(div).setHTML('<div class="ismallloader"></div>');
	new Ajax('/users/_feeds_hp/'+feed_id, {update: div, evalScripts: true}).request();
}

function feeds_unhp(feed_id, div) {
	$(div).setHTML('<div class="ismallloader"></div>');
	new Ajax('/users/_feeds_unhp/'+feed_id, {update: div, evalScripts: true}).request();
}

function links_del(link_id) {
	postvars = '';
	var result = confirm(trad_confirm_delete_link);
	if ( result ) {
		new Ajax('/links/_ajax/del/' + link_id, {update: 'divstatus', evalScripts: true}).request();
	}
}

function newspy(div,cur_pos) {
	recipient = document.getElementById(div);
	postvars = 'div='+div+'&pos=' + cur_pos;
	new Ajax('/ajax/news/hpspy/', {update: 'tmpscroller', evalScripts: true, postBody: postvars}).request();
	
}

function reader_cat(id, archive_mode) {
	$('readeritems').setHTML('<div class="waiter">'+trad_wait+'<br/><br/><div class="iloader"></div></div>');
	$('catpermalink').href = '/news/by_categories/'+id+'-';
	new Ajax('/news/reader_items/'+id+'/'+archive_mode, {update: 'readeritems', evalScripts: true, postBody: ''}).request();

}

function markasread(feed_id, hash) {
	postvars = '';
	new Ajax('/news/mark_as_read/' + feed_id +'/'+hash, {update: 'tmp', evalScripts: true}).request();		
}

function markcategoryread(category_id) {
	$('readeritems').setHTML('<div class="waiter">'+trad_wait+'<br/><br/><div class="iloader"></div></div>');
	
	postvars = '';
	new Ajax('/news/mark_category_read/' + category_id, {update: 'tmp', evalScripts: true}).request();
}

function DHTML_popup(url, addtop, addleft) {
		if ( $('dhtmlpopup') ) {
			$('dhtmlpopup').remove();
		}
		var el = new Element('div');
		el.setAttribute('id', 'dhtmlpopup');
		el.injectInside(document.body);
	
		if ( typeof addtop == 'undefined' ) {
			addtop = 0;
		}
		if ( typeof addleft == 'undefined' ) {
			addleft = 0;
		}
		var arrayPageSize = getPageSize();
		var arrayPageScroll = getPageScroll();
		var infotop = (arrayPageScroll[1] + (arrayPageSize[3] / 15)) + 50;

		el.setHTML('<div class="waiter" style="height:100%" id="waitingdiv">'+trad_wait+'<br/><br/><div class="iloader"></div></div>');

		el.setStyles({'opacity': 1,'height':'0', 'top': Math.floor(infotop + addtop) + 'px', 'left': Math.floor((arrayPageSize[0] - 500 + addleft)/2) + 'px', 'display': 'block'});
		var myEffect = new fx.Height(el , {duration: 1000, transition: fx.Transitions.backOut,onComplete: function() {
							el.setHTML('<iframe width="100%" height="100%" src="'+url+'" frameborder="0" scrolling="no"></iframe>');
						}});
		myEffect.custom(0,500);
}

function DHTML_popup_close() {
	infobox = top.document.getElementById('dhtmlpopup');
	
	var myEffect = new fx.Height(infobox , {duration: 1000, onComplete: function() {infobox.setStyle('display', 'none');}});
	myEffect.custom(500,0);

//	myEffect.toggle();	
}
	
