var browser		= navigator.userAgent.toLowerCase();
var isIE		= ((browser.indexOf("msie")!=-1) && (browser.indexOf("opera")==-1) && (browser.indexOf("webtv") == -1));
var isGecko		= ( browser.indexOf("gecko")!=-1);
var isSafari	= ( browser.indexOf("safari")!=-1);
var isKonqueror	= ( browser.indexOf("konqueror")!=-1);
var isFireFox	= ( browser.indexOf("firefox")!=-1);
var isMozilla	= ( browser.indexOf("mozilla")!=-1);


//========================================================================================
function menuHover(OBJ, state) {
	var SRC		= OBJ.src;
	var TYPE	= SRC.split('-');
	var DIR		= TYPE[0].split('/');
	if(state) {
		OBJ.src = 'img/'+DIR[(DIR.length-1)]+'-'+TYPE[1]+'-on.jpg';
	}
	else {
		OBJ.src = 'img/'+DIR[(DIR.length-1)]+'-'+TYPE[1]+'-off.jpg';
	}
}
//========================================================================================
function textHover(OBJ, state) {
	OBJ.className = (state) ? 'textHoverOn' : 'textHoverOff';
}
//========================================================================================
function menuHoverGalThumb(OBJ, state) {
	if(currentImage==OBJ.id) {return;}
	var SRC		= OBJ.src;
	var TYPE	= SRC.split('-');
	var DIR		= TYPE[0].split('/');
	if(state) {
		OBJ.src = 'img/'+DIR[(DIR.length-1)]+'-'+TYPE[1]+'-on.jpg';
	}
	else {
		OBJ.src = 'img/'+DIR[(DIR.length-1)]+'-'+TYPE[1]+'-off.jpg';
	}
}
//========================================================================================
function loadImage(folder, image, index) {
	
	if(isSafari) {
		var OBJ = document.getElementById(CurrentStage);
		OBJ.style.display		= "block";
	}
	else {
		OldStage		= CurrentStage;
		CurrentStage	= (CurrentStage=='SCREEN1') ? 'SCREEN2' : 'SCREEN1';
		var OBJ = document.getElementById(CurrentStage);
	
		opacity(CurrentStage, 	0, 100);
		opacity(OldStage, 		100, 0);
	
		OBJ.style.display		= "block";
	}
	OBJ.src = 'img/blank.gif';
	OBJ.src = 'content/gallery/'+folder+'/'+image;
	
	//setTimeout("opacity('"+ID+"_"+i+"', 0, 100)", (200*i));
	
	if(currentImage>-1) {
		document.getElementById(currentImage).src = 'img/btn-imageicon-off.jpg';
	}
	currentImage = index;
	document.getElementById(currentImage).src = 'img/btn-imageicon-on.jpg';
}
//========================================================================================
function clearThumbnails() {
	document.getElementById('imageThumbs').innerHTML = '';
}

function drawThumbnails(KEY, FOLDER, SRC) {
	document.getElementById('imageThumbs').innerHTML+= '<img id="'+KEY+'" src="img/btn-imageicon-off.jpg" width="15" height="14" alt="'+KEY+'" name="'+FOLDER+'='+SRC+'" onClick="'+"loadImage('"+FOLDER+"', '"+SRC+"', '"+KEY+"')"+'" onMouseOver="menuHoverGalThumb(this, true)" onMouseOut="menuHoverGalThumb(this, false)" class="buttonImage" />';
}
//========================================================================================
function galleryImageNext() {
	if((parseInt(currentImage)+1)==totalImages) {
		galleryProjectNext();
		return;
	}
	var IMG	= document.getElementById(parseInt(currentImage)+1).name
	IMG	= IMG.split('=');
	loadImage(IMG[0], IMG[1], (parseInt(currentImage)+1));
}
function galleryImagePrev() {
	if(currentImage==0) {
		galleryProjectPrev();
		return;
	}
	var IMG	= document.getElementById(parseInt(currentImage)-1).name
	IMG	= IMG.split('=');
	loadImage(IMG[0], IMG[1], (parseInt(currentImage)-1));
}
//========================================================================================
function galleryProjectNext() {
	ajaxManager('data_set', parseInt(currentProject)+1, false, false, false);
	currentImage = 0;
}
function galleryProjectPrev() {
	ajaxManager('data_set', parseInt(currentProject)-1, false, false, false);
	currentImage = 0;
}
//========================================================================================
function setProjectName(text) {
	document.getElementById('projectName').innerHTML = text;
}
//========================================================================================
function setProjectInfo(text) {
	document.getElementById('tooltip').innerHTML = text.replace(/=BR=/g, "<br />");
}
//========================================================================================
function opacity(id, opacStart, opacEnd) {
    //speed for each frame
    var speed = 3;
    var timer = 10;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}
function changeOpac(opacity, id) {
    var OBJ = document.getElementById(id).style;
    /*
	OBJ.opacity = (opacity / 100);
    OBJ.MozOpacity = (opacity / 100);
    OBJ.KhtmlOpacity = (opacity / 100);
    OBJ.filter = "alpha(opacity=" + opacity + ")";
	*/
	
	//try { OBJ.opacity		= (opacity / 100); }				catch(e) {}
    try { OBJ.MozOpacity	= (opacity / 100); }				catch(e) {}
    try { OBJ.KhtmlOpacity	= (opacity / 100); }				catch(e) {}
    try { OBJ.filter		= "alpha(opacity="+opacity+")"; }	catch(e) {}
}
//========================================================================================
function ajaxManager(){
//========================================================================================
	var args = ajaxManager.arguments;
//******************************************************************************
	switch (args[0]){
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		case "data_do" : {
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
			var xOBJ = null;
			try {
				if 		(window.XMLHttpRequest)	{
					xOBJ=new XMLHttpRequest();
					if (xOBJ.overrideMimeType) { xOBJ.overrideMimeType('text/xml'); }
				}
				else if (window.ActiveXObject)	{ 
					xOBJ = new ActiveXObject("Msxml2.XMLHTTP");
					if(xOBJ || xOBJ==null) { xOBJ = new ActiveXObject("Microsoft.XMLHTTP"); }
				}
				else	{ return false;}
			}
			catch( e ) { return false;}
//--------------------------------------------------
			if (xOBJ){
				xOBJ.onreadystatechange = function(){
					var WindowMessage = '';
					
					try {
						switch(xOBJ.readyState) {
							case 0 : {	WindowMessage = 'Initializing';					break;}
							case 1 : {	WindowMessage = 'Processing Page Request...';	break;}
							case 2 : {	WindowMessage = 'Request Recieved...';			break;}
							case 3 : {	WindowMessage = 'Requesting Page Data...';		break;}
							case 4 : {
								if(xOBJ.status == 200)	{ 
									//alert(xOBJ.responseXML.getElementsByTagName('project')[0].getAttribute('url'));//.firstChild.data);
									//alert(xOBJ.responseXML.getElementsByTagName('project')[0].childNodes[1].getAttribute('url'));
									//alert(xOBJ.responseXML.getElementsByTagName('project')[0].getElementsByTagName('image')[1].getAttribute('url'));
									//alert(xOBJ.responseXML.getElementsByTagName('project')[0].childNodes[1].getAttribute('url'));
									//+"\n"+xOBJ.responseXML.getElementsByTagName('project')[0].childNodes]1].getAttribute('idx'));
									var gallery = xOBJ.responseXML.getElementsByTagName('project')[0];
									var node = '';
									clearThumbnails();
									for(var i=0; i<gallery.getAttribute('count'); i++) {
										node = xOBJ.responseXML.getElementsByTagName('project')[0].getElementsByTagName('image')[i];
										drawThumbnails(i,gallery.getAttribute('url'),node.getAttribute('url'));
									}
									setProjectName(gallery.getAttribute('name'));
									setProjectInfo(gallery.getAttribute('description'));
									currentProject = parseInt(gallery.getAttribute('idx'));
									totalImages = gallery.getAttribute('count');
									loadImage(gallery.getAttribute('url'), xOBJ.responseXML.getElementsByTagName('project')[0].getElementsByTagName('image')[0].getAttribute('url'), 0);
								}
								else					{ alert('This Request Generated An Error.'); }
							break;}
						}
					}
					catch( e ) { alert('Caught Exception: '+e.name+"\n"+e.message); return false;}
					//document.getElementById(args[1]).innerHTML = WindowMessage;
				}
				
				//xOBJ.abort();
				
				xOBJ.open('post', 'content/folio.feed.php');
				xOBJ.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				xOBJ.setRequestHeader('Cache-Control', 'no-cache');
				xOBJ.send('gal='+args[1]);//+'&KEY1='+args[2]+'&KEY2='+args[3]+'&KEY3='+args[4]);
			}
		break;}
//--------------------------------------------------
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		case "data_set" : {
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
			ajaxManager('data_do', args[1], args[2], args[3], args[4]);
		break;}
//--------------------------------------------------
	}//switch end
//******************************************************************************
}//function end : ajaxManager
//========================================================================================
