var timerlen = 5;
var slideAniLen = 250;

var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();
var n;
var timeout;

function openClose(div1,div2) {
    document.getElementById(div2).style.display = 'none';
    document.getElementById(div1).style.display = 'block';
}
function justOpen(open,close,open2) {
    document.getElementById(open).style.display = 'block';
    document.getElementById(close).style.display = 'none';
    document.getElementById(open2).style.display = 'inline';
}
function justClose(close,close2,open) {
    document.getElementById(close).style.display = 'none';
    document.getElementById(close2).style.display = 'none';
    document.getElementById(open).style.display = 'inline';
}


function closeThisMenuTimer(ddm,ddmo) {
	timeout = setTimeout( 'closeThisMenu(\''+ddm+'\',\''+ddmo+'\')' ,100);
}

function enlargeThumb(div) {
	document.getElementById(div).style.display = 'block';
} 
function closeEnlargeThumb(div) {
	document.getElementById(div).style.display = 'none';
} 
var insertThis = null;

function hoverImage(div,insertThis) {
	document.getElementById(div).style.display = 'block';
	document.getElementById(div).style.visibility = 'visible';
	if(insertThis!=='null') {
		 document.getElementById(div).innerHTML = insertThis;
	}

	divWidth = document.getElementById(div).clientWidth;
	divHeight = document.getElementById(div).clientHeight;
	document.getElementById(div).style.marginTop = "-"+divHeight+"px";
	moveLeft = divWidth / 2;
	var d = document.getElementById(div);
	var yp = getPosition(d); 
	var vs = getScrollXY();
	var dp = document.getElementById(div).scrollTop;
	var thisX = findPosX(d);
	var thisY = findPosY(d);
	screenWidth = GetScreenWidth();
	var moveLeft = moveLeft * 1;
	thisX = thisX * 1;
	var toMoveLeft = 0;
	if(screenWidth < (thisX+moveLeft)) {
		toMoveLeft = (moveLeft * 2) - (screenWidth - thisX)+25;
		document.getElementById(div).style.marginLeft = "-"+toMoveLeft+"px";
	} else if(thisX < (divWidth / 2) ) {
		toMoveLeft = thisX - 5;
		document.getElementById(div).style.marginLeft = "-"+toMoveLeft+"px";
	} else {
		document.getElementById(div).style.marginLeft = "-"+moveLeft+"px";
	}
	
	toTop = divHeight - vs;

if(vs>yp) {
	moveDown = divHeight - (vs-yp);
	 document.getElementById(div).style.marginTop = "-"+moveDown+"px";
}
}

function closeHoverImage(div) {
	document.getElementById(div).style.display = 'none';
document.getElementById(div).style.marginLeft = 0;

}

function GetScreenWidth(){
        var x = 0;
        if (self.innerHeight)
        {
                x = self.innerWidth;
        }
        else if (document.documentElement && document.documentElement.clientHeight)
        {
                x = document.documentElement.clientWidth;
        }
        else if (document.body)
        {
                x = document.body.clientWidth;
        }
        return x;
}

 function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

function getPosition(obj){
    var topValue= 0,leftValue= 0;
    while(obj){
	leftValue+= obj.offsetLeft;
	topValue+= obj.offsetTop;
	obj= obj.offsetParent;
    }
    finalvalue = topValue;
    return finalvalue;
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return scrOfY;
}

function openCloseWithLink(openThis1,openThis2,closeThis,openClose) {
	if(openClose == "open") {
		document.getElementById(openThis1).style.display = 'inline';
		document.getElementById(openThis2).style.display = 'inline';
		document.getElementById(closeThis).style.display = 'none';
	}
	if(openClose == "close") {
		document.getElementById(openThis1).style.display = 'none';
		document.getElementById(openThis2).style.display = 'none';
		document.getElementById(closeThis).style.display = 'inline';
	}

} 


function closeThisMenu(ddm,ddmo) {
	document.getElementById(ddm).style.display = 'none';
	document.getElementById(ddmo).style.display = 'inline';
} 
function clickShowThisMenu(ddm,ddmo) {
	showThisMenu(ddm,ddmo);
} 
function showThisMenu(ddm,ddmo) {
	clearTimeout(timeout);
	document.getElementById(ddm).style.display = 'inline';
	document.getElementById(ddmo).style.display = 'none';
} 


function checkSearchForm(form) {
	  if (document.getElementById("pcq").value == "") {
			document.getElementById("search_error").style.display = 'inline';
			document.getElementById('search_error').innerHTML = 'Please enter a search term';
			return false ;
		}
    Form=document.searchall; 
	Form.submission.disabled = true;
	Form.submission.value = '....';
	Form.submit();  

  return true ;
}

function navSubGalleries(main_gallery) { 
	document.getElementById("showNavSubGalleriesContainer").style.display = 'block';
	document.getElementById('showNavSubGalleries').innerHTML = '<div><img src=img/loading1.gif></div>';
	javascript:ajaxpage('admin_inserts.php?do=subGalleries&main_gallery=' + main_gallery + '', 'showNavSubGalleries');
}

function closeNavSubGalleries() {
	document.getElementById("showNavSubGalleriesContainer").style.display = 'none';
}


function jumpToGallery() { 
	document.getElementById("showJumpToGalleryContainer").style.display = 'block';
	document.getElementById('showJumpToGallery').innerHTML = '<div><img src=img/loading1.gif></div>';
	javascript:ajaxpage('admin_inserts.php?do=jumpToGallery', 'showJumpToGallery');
}
function showHelp() { 
	document.getElementById("showJumpToGalleryContainer").style.display = 'block';
	document.getElementById('showJumpToGallery').innerHTML = '<div><img src=img/loading1.gif></div>';
	javascript:ajaxpage('admin_inserts.php?do=help', 'showJumpToGallery');
}
function jumpToCategory() { 
	document.getElementById("showJumpToGalleryContainer").style.display = 'block';
	document.getElementById('showJumpToGallery').innerHTML = '<div><img src=img/loading1.gif></div>';
	javascript:ajaxpage('admin_inserts.php?do=jumpToCategory', 'showJumpToGallery');
}

function closeJumpToGallery() {
	document.getElementById("showJumpToGalleryContainer").style.display = 'none';
}


function slidedown(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display != "none")
                return; // cannot slide down something that is already visible

        moving[objname] = true;
        dir[objname] = "down";
        startslide(objname);
}

function slideup(objname){
        if(moving[objname])
                return;

        if(document.getElementById(objname).style.display == "none")
                return; // cannot slide up something that is already hidden

        moving[objname] = true;
        dir[objname] = "up";
        startslide(objname);
}

function startslide(objname){
        obj[objname] = document.getElementById(objname);

        endHeight[objname] = parseInt(obj[objname].style.height);
        startTime[objname] = (new Date()).getTime();

        if(dir[objname] == "down"){
                obj[objname].style.height = "1px";
        }

        obj[objname].style.display = "block";

        timerID[objname] = setInterval('slidetick(\'' + objname + '\');',timerlen);
}

function slidetick(objname){
        var elapsed = (new Date()).getTime() - startTime[objname];

        if (elapsed > slideAniLen)
                endSlide(objname)
        else {
                var d =Math.round(elapsed / slideAniLen * endHeight[objname]);
                if(dir[objname] == "up")
                        d = endHeight[objname] - d;

                obj[objname].style.height = d + "px";
        }

        return;
}

function endSlide(objname){
        clearInterval(timerID[objname]);

        if(dir[objname] == "up")
                obj[objname].style.display = "none";

        obj[objname].style.height = endHeight[objname] + "px";

        delete(moving[objname]);
        delete(timerID[objname]);
        delete(startTime[objname]);
        delete(endHeight[objname]);
        delete(obj[objname]);
        delete(dir[objname]);

        return;
}

function toggleSlide(objname){
  if(document.getElementById(objname).style.display == "none"){
    // div is hidden, so let's slide down
    slidedown(objname);
  }else{
    // div is not hidden, so slide up
    slideup(objname);
  }
}

   function checkAll(theForm, cName) {
    for (i=0,n=theForm.elements.length;i<n;i++)
     if (theForm.elements[i].className.indexOf(cName) !=-1)
      if (theForm.elements[i].checked == true) {
       theForm.elements[i].checked = false;
      } else {
       theForm.elements[i].checked = true;
      }
   }


function addCheck(theForm)

{ 
    Form=document.theForm; 
	Form.submission.disabled = true;
	Form.submission.value = 'please wait .....';
	Form.submit();  
}




var loadedobjects=""
var rootdomain="http://"+window.location.hostname

function ajaxpage(url, containerid){
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
page_request.open('GET', url, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {
//		var enableCache = false;
		document.getElementById(containerid).innerHTML=page_request.responseText
	}
}

function loadimage(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}
