

/**
 * Language switching function
 * @param String aLang
 */
function switchLang(aLang){
	var myLocation = document.location.href;
	var myExtraLocation = '';
	if(myLocation.indexOf('#') > 0){
		myExtraLocation = myLocation.substr(myLocation.indexOf('#'));
		myLocation = myLocation.substring(0,myLocation.indexOf('#'));
	}
	// clean the url of any previous change in langs
	myLocation = myLocation.replace(/\?lang\=[a-z]*\&*/g, '?');
	myLocation = myLocation.replace(/\&lang\=[a-z]*/g, '');
	
	if(myLocation.indexOf('?') > 0){
		document.location = myLocation+'&lang='+aLang+myExtraLocation;
	} else {
		document.location = myLocation+'?lang='+aLang+myExtraLocation;
	}
}

/**
 * Colapse an element refereing to aElementId
 * @param String aElementId
 * @return void
 */
function colapseFreind(aElementId){
	var myEl = document.getElementById(aElementId);
	myEl.style.display = (myEl.style.display == 'none')? 'block' : 'none';
}

/**
 * call a specific URL
 * @param String aURL
 * @return void
 */
function switchUrl(aURL){
	document.location = aURL;
}

/**
 * set the proper width of images in articles
 * @return void
 */
function setArtImgSpan(){
	var mySpans = document.getElementsByTagName('span');
	for(var i=0; i<mySpans.length; i++){
		if(mySpans[i].className == 'doc-artImg'){
			var myImg = mySpans[i].getElementsByTagName('img')[0];
			mySpans[i].style.width= Math.max(myImg.clientWidth, 100)+'px';
		}
	}
}

/**
 * Got to a foot note
 * @param String aNoteID
 * @return
 */
function goToNote(aNoteID){
	var myNote = document.getElementById(aNoteID);
	if(myNote.className == 'footNote'){
		window.location = "#"+aNoteID;
	}
}

/**
 * Open a pop up note
 * @param String aNoteID
 * @return void
 */
function openNote(aNoteID){
	var myNote = document.getElementById(aNoteID);
	if(myNote.className == 'popNote'){
		var myNewX = (window.event)? evt.clientX : evt.pageX;
		var myNewY = (window.event)? evt.clientY : evt.pageY;
		myNote.style.left=myNewX+'px';
		myNote.style.top=myNewY+'px';
		myNote.style.visibility='visible';
	}
}

/**
 * Close a pop up note
 * @param String aNoteID
 * @return void
 */
function closeNote(aNoteID){
	var myNote = document.getElementById(aNoteID);
	if(myNote.className == 'popNote'){
		myNote.style.visibility='hidden';
	}
}

/**
 * even object
 */
var evt = null;
document.onmousemove=function(e){evt = window.event || e;}

/**
 * document load function
 * @return void
 */
function docLoad(){
	var myLocation = document.location.href;
	var myId = '';
	if(myLocation.indexOf('#') > 0){
		myId = myLocation.substr(myLocation.indexOf('#')+1);
		var myActiveTab= document.getElementById(myId+'-tab');
		if(myActiveTab){
			dz_switchTab(myActiveTab);
		}
	}
	setArtImgSpan();
	checkFB_load();
}

function setComment(aReply){
	var myFormContainer = document.getElementById("new-comment-form");
	var myForm = myFormContainer.getElementsByTagName('form')[0];
	if(aReply > 0){
		myForm.elements['__replyuid'].value = aReply;
	} else {
		myForm.elements['__replyuid'].value = '';
	}
	myFormContainer.style.visibility='visible';
}

function addRankToComment(aLink, aMod, aCommentUID, aOpinion){
	if(!getCookie(aMod+aCommentUID)){
		setCookie(aMod+aCommentUID, aOpinion, 31);
		var myXHR = getXHRInstance();
		if (myXHR) {
			myXHR.init(function(httpRequest) {
				var xml = httpRequest.responseXML;
				if (xml && xml.firstChild) {
					aLink.textContent = xml.firstChild.textContent;
				}
			});
			myXHR.getAsync('index.php?module=comment&action=setRank&subMod='+aMod+'&opinion='+aOpinion+'&uid='+aCommentUID+'&postresponse=ajax');
		}
	}
	
	if(aLink.className.indexOf('unactive') == -1){
		aLink.className = aLink.className+' unactive';
		aLink.setAttribute('onclick','');
	}
}

function setCookie(aName, aValue, aDays){
	var expdate=new Date();
	expdate.setDate(expdate.getDate()+aDays);
	document.cookie = aName+"="+escape(aValue)+";expires="+expdate.toGMTString();
}

function getCookie(aName){
		var nameEQ = aName + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return false;
}

/**
 * FB connect on login refresh page
 * @return
 */
function fbconnect_onlogin(){
	refresh_page();
}

function refresh_page(){
	window.location.reload();
}
/**
 * FB connect if logged in ensure connection
 */
function facebook_onload(already_logged_into_facebook) {
	// user state is either: has a session, or does not.
	// if the state has changed, detect that and reload.
	FB.ensureInit(function() {
		FB.Facebook.get_sessionState().waitUntilReady(function(session) {
			var is_now_logged_into_facebook = session ? true : false;
			// if the new state is the same as the old (i.e., nothing changed)
			// then do nothing
			if (is_now_logged_into_facebook == already_logged_into_facebook) {
				return;
			}
			// otherwise, refresh to pick up the state change
			refresh_page();
		});
	});
}
