/*
Copyright 2008 Michael Hand, Hand and Hand Multimedia - mike@hnhmm.com

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
<http://www.handandhandmultimedia.com/COPYING.txt>.
    
*/

var IE = document.all?true:false;

var conSec_hight=300;
var conState='IN';
function expand_consec()
{
var ht=740;
var conSecObj=document.getElementById('conSec');


//alert("Working."+conSecObj.style.height);


if(conSec_hight<ht)
{
conSec_hight+=10;
conSecObj.style.height=conSec_hight+"px";
setTimeout("expand_consec()",20);

}
else
{
get_clgrid();
}


}

function contract_consec()
{
var ht=350;
var conSecObj=document.getElementById('conSec');
//alert("Working."+conSecObj.style.height);


if(conSec_hight>ht)
{
location.hash='con_loc=0';
conSec_hight-=10;
conSecObj.style.height=conSec_hight+"px";
setTimeout("contract_consec()",20);

}
else
{
get_content();
}


}



///////////////////////////////////////////////////////////////////////////////
// TOOL TIP FUNCTIONS
var tipText='';

function showTip(e)
{
var tipObj=document.getElementById('tip');
var offstX=400;
tipObj.style.visibility='visible';
var IE = document.all?true:false;
    if (IE) {
var scrlTp = document.documentElement.scrollTop;
    var pc=window.document.body.clientWidth/2;
    x_tip = event.clientX + document.body.scrollLeft-pc+offstX;
    y_tip = event.clientY + scrlTp-150;
    }
    else
    {
    var pc=document.width/2;
    x_tip=e.pageX-pc+offstX;
    y_tip=e.pageY-150;
    }
tipObj.style.margin=y_tip+'px 0 0 '+x_tip+'px';
tipObj.innerHTML=tipText;
}

function hideTip()
{
var tipObj=document.getElementById('tip');
tipObj.style.position='absolute';
tipObj.style.visibility='hidden';
}

///////////////////////////////////////////////////////////////////////////////
// CONTENT BOX FADE FUNCTIONS

function conFadeOut()
{
if(!conState!='IN')
{
conState='OUT';
var conObj=document.getElementById('top_con');
    if(con_alpha>0)
    {
    con_alpha-=10;
    var IE = document.all?true:false;
        if (IE) {
        conObj.filters.alpha.opacity=con_alpha;
        }
        else
        {
        conObj.style.opacity=con_alpha/100;
        }
    conObj.style.width=(con_alpha*4)+'px';
    tcH*=0.9;
    conObj.style.height=tcH+'px';
    setTimeout("conFadeOut()",50);
    }
    else
    {
    conState='FALSE';
    conObj.style.visibility='hidden';
    }
}

}

function conFadeIn()
{
if(conState!='OUT')
{
conState='IN';
var conObj=document.getElementById('top_con');
    if(con_alpha<95)
    {
    con_alpha+=10;
    var IE = document.all?true:false;
        if (IE) {
        conObj.filters.alpha.opacity=con_alpha;
        }
        else
        {
        conObj.style.opacity=con_alpha/100;
        }
    conObj.style.width=(con_alpha*4)+'px';
    conObj.style.height=(tcH*(con_alpha/95))+'px';
    setTimeout("conFadeIn()",50);
    }
else
{
conState='FALSE';
}
}

}

///////////////////////////////////////////////////////////////////////////////
// CONTENT DRAG FUNCTIONS
function ttlbtInit()
{
var tb=document.getElementById('ttlbr');
tb.onmousedown=bgnDrag;
document.onmouseup=stpDrag;
}

function doDrag(e)
{
var tc=document.getElementById('top_con');
var conblk=document.getElementById('contnt');
var offsety=20;
var IE = document.all?true:false;
    if (IE) {
var scrlTp = document.documentElement.scrollTop;
    var pc=window.document.body.clientWidth/2;
    x_pos = event.clientX + document.body.scrollLeft-pc+grabLen;
    y_pos = event.clientY + scrlTp-30;
    }
    else
    {
    var pc=document.width/2;
    x_pos=e.pageX-pc+grabLen;
    y_pos=e.pageY-offsety;
    }
tc.style.margin=y_pos+'px 0 0 '+x_pos+'px';
}

function bgnDrag(e)
{
var IE = document.all?true:false;
    if (IE) {
    var pc=window.document.body.clientWidth/2;
    grabLen=pc-event.clientX+x_pos;
    }else{
    var pc=document.width/2;
    grabLen=pc-e.pageX+x_pos;
    }
document.onmousemove=doDrag;
}

function stpDrag(e)
{
document.onmousemove='';
}

function rollOn()
{
document.images.clz_img.src='images/clz_on.png';
}

function rollOff()
{
document.images.clz_img.src='images/clz_off.png';
}


function testPush(id){
var obj=document.getElementById(id);
alert(obj.style.marginLeft);

}



function blockFoc(id)
{
var clntObj=document.getElementById('clnt_'+id);
clntObj.style.border='solid 3px #0d0';
}

function blockBlur(id)
{
var clntObj=document.getElementById('clnt_'+id);
clntObj.style.border='solid 1px #000';
}



///////////////////////////////////////////////////////////////////////////////
// CONTENT INSERTION FUNCTIONS
function pushCon(cat_name,filename,url,id,tip)
{
tipText=tip;
location.hash='con_loc=1&pushcon='+id;
var conObj=document.getElementById('top_con');
var ttlObj=document.getElementById('ttlbr');
var urlObj=document.getElementById('clntURL');
var lnkObj=document.getElementById('clntLink');
var clntObj=document.getElementById('clnt_'+id);

    var clientX=clntObj.style.marginLeft;
    var clientY=clntObj.style.marginTop;
    
    clientX=clientX.replace(/px/,"");
    clientY=clientY.replace(/px/,"");
    
    
//alert(clientX+' - '+clientY);
document.images['clntImg'].src='';
document.images['clntImg'].src=eval('clntImg'+id+'.src');
var imgHt=eval('clntImg'+id+'.height');
ttlObj.innerHTML=cat_name+'<div onClick="conFadeOut()" onMouseOver="rollOn()" onMouseOut="rollOff()" id=\'close_btn\'><img src=\'images/clz_off.png\' name=\'clz_img\' hspace=\'2\' vspace=\'2\'></div>';
urlObj.innerHTML=url;
lnkObj.href=url;
lnkObj.onmouseover=showTip;
lnkObj.onmouseout=hideTip;
var IE = document.all?true:false;


    var pc=document.width/2;
//    x_con=clientX-pc+100;
//    y_con=clientY-20;

    x_con=clientX-1;
    y_con=eval(clientY-1);
/*
    if(x_con>200)
    {
    x_con-=100;
    }
    */
x_pos=x_con;
y_pos=y_con;
if(IE)
{
conObj.style.left=x_con+'px';
conObj.style.top=y_con+'px';
}
else
{
conObj.style.margin=y_con+'px 0 0 '+x_con+'px';
}

tcH=imgHt+79;
conObj.style.height=(imgHt+79)+'px';
conObj.style.visibility='visible';
con_alpha=0;
conObj.style.opacity=con_alpha;
conFadeIn();
ttlbtInit();
}


function checkForHash()
{
var hashCatId=location.hash.split("=")[1];

//alert (pushcon);
if(hashCatId)
{
//layoutManip();
expand_consec();
}
}

function get_clgrid()
{
var conSecObj=document.getElementById('conSec');

//conSecObj.innerHTML=cl_grid;




var dataSource="functions.php?clientgrid=1";
conSecObj.innerHTML="<div style='text-align:center;'><img src='images/loading.gif' alt='Loading' name='loadingImg'/></div>";
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
            } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
		req.onreadystatechange = function()
{
	if(req.readyState == 4 && req.status==200){
	conSecObj.innerHTML=req.responseText;
	
var pushcon=location.hash.split("=")[2];
if(pushcon)
{

var name=document.getElementById('cat_name_'+pushcon).value;
var filename=document.getElementById('filename_'+pushcon).value;
var url=document.getElementById('url_'+pushcon).value;
var tip=document.getElementById('tip_'+pushcon).value;




pushCon(name,filename,url,pushcon,tip);
}
else
{
location.hash='con_loc=1';
}

	}
}

		req.open("GET", dataSource, true);
		req.send("");
}
}


function get_content()
{
var conSecObj=document.getElementById('conSec');

//conSecObj.innerHTML=cl_grid;


var dataSource="functions.php?content=1";
conSecObj.innerHTML="<div style='text-align:center;'>Loading</div>";
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {
    	try {
			req = new XMLHttpRequest();
        } catch(e) {
			req = false;
        }
            } else if(window.ActiveXObject) {
       	try {
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		req = false;
        	}
		}
    }
	if(req) {
		req.onreadystatechange = function()
{
	if(req.readyState == 4 && req.status==200){
	conSecObj.innerHTML=req.responseText;
	}
}

		req.open("GET", dataSource, true);
		req.send("");
}
}


