//DNN Module: janet.Clients
//Version 01.00.01
//Creation Date:1st January 2009
//Author: Neil
//Copyright: Copyright 2006-2009 Janet Systems Ltd.
//URL: http://www.janetsystems.co.uk


var ie4=document.all&&!document.getElementById
var ns4=document.layers
var isIE = document.all ? true : false;
var rotateDelay=5000
var itemNum=0
var NumTagWords=2

var offsetX = 0;
var offsetY = 0;

function janetArticles_NextBack() {
	if (document.getElementById) {
		document.getElementById('Scroll').style.height=document.getElementById('Surround').offsetHeight +'px';
		var ReviewScroll = document.getElementById('ReviewScroll')
		var ReviewSurround = document.getElementById('ReviewSurround')
		if (ReviewScroll) {
			document.getElementById('Scroll').style.height=ReviewSurround.offsetHeight +'px';
			ReviewScroll.style.height=ReviewSurround.offsetHeight +'px';
		//alert(document.getElementById('ReviewSurround').offsetHeight +'px')
		//alert(document.getElementById('Surround').offsetHeight +'px')
			
		}
	}
}
//AJAX Postback coding
//AJAX initalisation
var xmlHttp;
//var requestURL = 'http://localhost/misctest/getusernames.aspx?q=';
//var requestURL// = 'desktopmodules/janet.Articles/Articles_NextBack.aspx?'
var is_ie = (navigator.userAgent.indexOf('MSIE') >= 0) ? 1 : 0;
var is_ie5 = (navigator.appVersion.indexOf("MSIE 5.5")!=-1) ? 1 : 0;
var is_opera = ((navigator.userAgent.indexOf("Opera6")!=-1)||(navigator.userAgent.indexOf("Opera/6")!=-1)) ? 1 : 0;
//netscape, safari, mozilla behave the same???
var is_netscape = (navigator.userAgent.indexOf('Netscape') >= 0) ? 1 : 0; 
ie5 = (document.all && document.getElementById);
ns6 = (!document.all && document.getElementById);

// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)


// Temporary variables to hold mouse x-y pos.s
var tempX = 0
var tempY = 0
var PopUp_FadeOut = 0
var PopUp_Fade = 0
var v = 0
var imgProgress = ""
// Main function to retrieve mouse x-y pos.s

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	//alert(curtop);
	return [curleft,curtop];
}
function getMouseXY2(obj,event) {
	if (document.all){
		x=event.x;
		y=event.y;
		dx=window.document.body.scrollLeft;
		dy=window.document.body.scrollTop;
	}
	else{ 
		x=e.pageX;
		y=e.pageY;
	}
	//if (navigator.appName == "Opera") 	alert(navigator.appName);
	//setXY();
	//if (navigator.appName == "Opera") 	alert(navigator.appName);
	imgXY=findPos(obj);
	//imgX = x - LeftEdge;//imgXY[0]+LeftEdge;
	//imgY = y + TopEdge; // imgXY[1];
	//if (navigator.appName == "Opera") 	alert(navigator.appName);
	imgX = imgXY[0];
	imgY = imgXY[1];
	//alert(imgXY[1]);
	//alert(x);
	document.getElementById(obj).style.left=x + 4;
	document.getElementById(obj).style.top=y - 16;
    window.status = "posx=" + x + ", posy=" + y;
}
function getMouseXY(obj,event) {
    var posx = 0;
	var posy = 0;
	//if (!e) var e = window.event;
	if (event.pageX || event.pageY)
	{
		posx = event.pageX;
		posy = event.pageY;
	}
    else if (event.clientX || event.clientY)
	{
		posx = event.clientX;
		posy = event.clientY;
		if (isIE)
		{
			posx += document.body.scrollLeft;
			posy += document.body.scrollTop;
            //alert(document.body.scrollTop);
		}
	}
	switch(navigator.appName) {
		case "Netscape" :
			offsetX = -14;
			offsetY = 12;
			break;
		case "Microsoft Internet Explorer" :
			offsetX = -14;
			offsetY = 12;
			break
		case "Opera" :
			offsetX = -14;
			offsetY = 12;
			break;
		default :
			offsetX = -14;
			offsetY = 12;
			break;
	}
    window.status = "posx=" + posx + ", posy=" + posy;
	document.getElementById(obj).style.left=posx + offsetX;
	document.getElementById(obj).style.top=posy + offsetY;
}
function HideModalPopup(obj) {
//alert("HideModalPopup");
    //document.getElementById(obj).innerHTML = imgProgress;
    document.getElementById(obj).style.display="none";
	//if (!PopUp_FadeOut) clearInterval(PopUp_FadeOut);
	//if (!PopUp_Fade) clearInterval(PopUp_Fade);
	//PopUp_Fade=setTimeout('fadeOut("ModalPopup")', 1000);
}
//Fades
var opac = 100;
function fadeIn(obj) {
	if(opac< 100){
		//var doFadeIn = false;
		opac=opac + 10;
		if(ie5) document.getElementById(obj).filters.alpha.opacity = opac;
		if(ns6) document.getElementById(obj).style.MozOpacity = opac/100;
		PopUp_FadeIn=setTimeout('fadeIn(obj)', 55);
		//if (!doFadeIn) clearInterval(PopUp_FadeIn);
	}
		clearInterval(PopUp_FadeIn);
} 
function fadeOut(obj) {
	if(opac> 0){
		var doFadeOut = false;
		opac=opac - 10;
		if(ie5) document.getElementById(obj).filters.alpha.opacity = opac;
		if(ns6) document.getElementById(obj).style.MozOpacity = opac/100;
		PopUp_FadeOut=setTimeout('fadeOut(obj)', 55);
		if (!doFadeOut) clearInterval(PopUp_FadeOut);
	}
} 
//Ajax

function ajaxPostBack(requestURL,ItemId,Instruct,reqAction,loc) {
	//document.getElementById(lblJanetArticles).innerHTML="<div width=100% height=100% align=center><div><img src=" + progress + "></div>"
	//if (document.getElementById("ModalContent")!=null) {
	//	itemId=document.getElementById("ClientId").value;
	//}
	//alert(requestURL)
	var url = requestURL + "?ArticlesId=" + ItemId + "&Instruct=" + Instruct + "&reqAction=" + reqAction + "&loc=" + loc;
   //alert(itemId)
   //alert(url)
   //Create the xmlHttp object to use in the request
   //stateChangeHandler will fire when the state has changed, i.e. data is received back
   // This is non-blocking (asynchronous)
   xmlHttp = GetXmlHttpObject(stateChangeHandler);
   //Send the xmlHttp get to the specified url
   xmlHttp_Get(xmlHttp, url);
}
function setOpacity(id, opacity) {
//alert(id)
//alert(opacity)
  var obj = document.getElementById(id);
  opacity = (opacity == 100)?99.999:opacity;
  // IE/Win
  obj.style.filter = "alpha(opacity:"+opacity+")";
  // Safari&lt;1.2, Konqueror
  obj.style.KHTMLOpacity = opacity/100;
  // Older Mozilla and Firefox
  obj.style.MozOpacity = opacity/100;
  // Safari 1.2, newer Firefox and Mozilla, CSS3
  obj.style.opacity = opacity/100;
}
//handles fade effect of adding new article
function doFade(i,str) {
	setOpacity('JanetArticlesNew',i);
	setOpacity('lblJanetArticles',100-i);
	i++;
	if (i < 100) {
		window.setTimeout( "doFade(" + i + ")", 0);
	}
	else {
		document.getElementById(lblJanetArticles).innerHTML = document.getElementById("JanetArticlesNew").innerHTML;
		document.getElementById("JanetArticlesNew").style.visibility = 'hidden';
		document.getElementById("JanetArticlesNew").innerHTML = "";
		setOpacity('JanetArticlesNew',0);
		setOpacity('lblJanetArticles',100);
	}
}
//stateChangeHandler will fire when the state has changed, i.e. data is received back
// This is non-blocking (asynchronous)
function stateChangeHandler()
{
   //readyState of 4 or 'complete' represents that data has been returned
   if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete'){
      //Gather the results from the callback
      //alert(xmlHttp.responseText)
      var str = xmlHttp.responseText;
		//document.getElementById("JanetArticlesNew").innerHTML = str;
		//document.getElementById("JanetArticlesNew").style.visibility = 'visible';
		//doFade(100);
		document.getElementById("ModalContent").innerHTML = str;	
   }
}
// XMLHttp send GET request
function xmlHttp_Get(xmlhttp, url) {
   xmlhttp.open('GET', url, true);
   xmlhttp.send(null);
}

function GetXmlHttpObject(handler) {
   var objXmlHttp = null;    //Holds the local xmlHTTP object instance

   //Depending on the browser, try to create the xmlHttp object
   if (is_ie){
      //The object to create depends on version of IE
      //If it isn't ie5, then default to the Msxml2.XMLHTTP object
      var strObjName = (is_ie5) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP';
      
      //Attempt to create the object
      try{
            objXmlHttp = new ActiveXObject(strObjName);
            objXmlHttp.onreadystatechange = handler;
      }
      catch(e){
      //Object creation errored
            alert('IE detected, but object could not be created. Verify that active scripting and activeX controls are enabled');
            return;
      }
   }
   else if (is_opera){
      //Opera has some issues with xmlHttp object functionality
      alert('Opera detected. The page may not behave as expected.');
      return;
   }
   else{
      // Mozilla | Netscape | Safari
      objXmlHttp = new XMLHttpRequest();
      objXmlHttp.onload = handler;
      objXmlHttp.onerror = handler;
   }
   
   //Return the instantiated object
  return objXmlHttp;
}

// XMLHttp send GET request
function xmlHttp_Post(xmlhttp, url) {
var theData = '';
  var theform = document.forms[0];
  var thePage = window.location.pathname + window.location.search;
  var eName = '';
 
  theData  = '__EVENTTARGET='  + 
              escape(eventTarget.split("$").join(":")) + '&';
  theData += '__EVENTARGUMENT=' + eventArgument + '&';
  theData += '__VIEWSTATE=' + 
              escape(theform.__VIEWSTATE.value).replace(new 
                              RegExp('\\+', 'g'), '%2b') + '&';
  theData += 'IsCallBack=true&';
  for( var i=0; i<theform.elements.length; i++ )
  {
    eName = theform.elements[i].name;
    if( eName && eName != '')
    {
      if( eName == '__EVENTTARGET' || eName == '__EVENTARGUMENT' 
                                       || eName == '__VIEWSTATE')
      {
        // Do Nothing
      }
      else
      {
        theData = theData + escape(eName.split("$").join(":")) + '=' + 
                                            theform.elements[i].value;
        if( i != theform.elements.length - 1 )
          theData = theData + '&';
      }
    }
  }
   xmlhttp.open('POST', url, true);
   xmlhttp.send(theData);
}




