/* ======== AJAX HANDLER =========== */

if (typeof XMLHttpRequest == "undefined")
  XMLHttpRequest = function() {
    try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch(e) {};
    try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch(e) {};
    try { return new ActiveXObject("Msxml2.XMLHTTP"); }     catch(e) {};
    try { return new ActiveXObject("Microsoft.XMLHTTP"); }  catch(e) {};
 
    throw new Error("This browser does not support XMLHttpRequest or XMLHTTP.");
  };
 
// ...
 
var request = new XMLHttpRequest();

function ajax(url, vars, callbackFunction) {
  var request =  new XMLHttpRequest();
  request.open("POST", url, true);
  request.setRequestHeader("Content-Type",
                           "application/x-www-form-urlencoded");
 
  request.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {
      if (request.responseText) {
        callbackFunction(request.responseText);
      }
    }
  };
  request.send(vars);
}

/* ========= END AJAX HANDLER ============== */



var blahimage;
var work_id;
var image_no;

function swapImageAjax(swapImage,image,link,switchlink,workid,src)
{
   preimage = new Image(600,400);
   preimage.src = src; 
   work_id = workid;
   image_no = image;
   fadeOut_ajax('portfolio-image-'+workid,100);
   var links = document.getElementsByName(switchlink);
   for(i=0;i<links.length;i++)
   {  
      links[i].className="switchlink";
   }
   document.getElementById(link).className="switchlink-current";
   return;  
}


function swapImage(swapImage,image,link,switchlink)
{
   blahimage = image;
   fadeOut(swapImage,100);
   var links = document.getElementsByName(switchlink);
   for(i=0;i<links.length;i++)
   {  
      links[i].className="switchlink";
   }
   document.getElementById(link).className="switchlink-current";
   return;
}

function fadeIn(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity <= 100) {
			setOpacity(obj, opacity);
			opacity += 2;
			window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 1);
		}
	}
	
   return;
}
function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<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;
    return;
}


function fadeOut_ajax(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity > 0) {
			setOpacity(obj, opacity);
			opacity = opacity-2;
			window.setTimeout("fadeOut_ajax('"+objId+"',"+opacity+")", 0.5);
		}
		else
		{
		 document.getElementById('portfolio-image-'+work_id).innerHTML = '<img src="images/ajax-loader.gif" alt="Loading.." />';
		 ajax('/ajax/portfolio-image.php','work_id='+work_id+'&image_no='+image_no,changeImage)
		}
	}
	
   return;
}

function changeImage(content)
{
   document.getElementById('portfolio-image-'+work_id).innerHTML = content;
   fadeIn('portfolio-image-'+work_id,0);
   //fadeIn('portfolio-'+work_id,0);
}

function fadeOut(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if (opacity > 0) {
			setOpacity(obj, opacity);
			opacity = opacity-2;
			window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 20);
		}
		else
		{
       document.getElementById(objId).src = blahimage;
       fadeIn(objId,0);
		}
	}
	
   return;
}

function pausecomp(millis) 
{
var date = new Date();
var curDate = null;

do { curDate = new Date(); } 
while(curDate-date < millis);
} 
/*
function fadeOut(objId,opacity) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		setOpacity(obj, opacity);
		opacity = opacity-2;
		window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 20);
	}
   return;
}
*/