/*			----=====[ Effects script ]====-----
				++++| Zorion Media |++++			
*/


/*smooth/auto scrolling*/
function oScroll(obj){
if(!obj.scrll){obj.scrll = findPos(obj)[1];}
if(!obj.scp){ obj.scp = ScrollPos()[1];}
nY = caught(obj.scp , obj.scrll ,10);
obj.scp = nY;
window.scrollTo(0,nY);
if(obj.scp != obj.scrll) setTimeout(function(){oScroll.nF(ooo,obj);oO(ooo);},20);
else{ oO();delete obj.scp;delete obj.scrll;}


}
function ScrollPos(){
var scrolly = typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement.scrollTop;
var scrollx = typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement.scrollLeft;
return [scrollx,scrolly];
}







/*COLORS*/
color = function(obj,tint,start){
if(!obj.cr){
	obj.cr = start.substr(0,2);
	obj.cg = start.substr(2,2);
	obj.cb = start.substr(4,2);
}

var arr = 0;
var r = parseInt(tint.substr(0,2),16); 
var g = parseInt(tint.substr(2,2),16); 
var b = parseInt(tint.substr(4,2),16); 

tint.substr(0,2) != obj.cr?obj.cr = toHex(parseInt(obj.cr,16),r):arr++;
tint.substr(2,2) != obj.cg?obj.cg = toHex(parseInt(obj.cg,16),g):arr++;
tint.substr(4,2) != obj.cb?obj.cb = toHex(parseInt(obj.cb,16),b):arr++;

obj.style.background = '#' + obj.cr + obj.cg + obj.cb;
if(arr < 3) setTimeout(function(){color.nF(ooo,obj,tint,start);oO(ooo);},20);
else{ oO(); delete obj.cr;}
}

function toHex(num,rgb){
	if(num > rgb) var ca = Math.floor(caught(num,rgb,8));
	else var ca = Math.ceil(caught(num,rgb,8));
	var hex = from10toradix(parseInt(ca),16);
	if(hex.length == 1) hex = '0' + hex;
	return hex;
}



function initArray() {
    this.length = initArray.arguments.length;
    for (var i = 0; i < this.length; i++)
        this[i] = initArray.arguments[i];
}
    
function from10toradix(value,radix){
    var retval = '';
    var ConvArray = new initArray(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F');
    var intnum;
    var tmpnum;
    var i = 0;

    intnum = parseInt(value,10);
    if (isNaN(intnum)){
        retval = 'NaN';
    }else{
        while (intnum > 0.9){
            i++;
            tmpnum = intnum;
            // cancatinate return string with new digit:
            retval = ConvArray[tmpnum % radix] + retval;  
            intnum = Math.floor(tmpnum / radix);
            if (i > 100){
                // break infinite loops
                retval = 'NaN';
                break;
            }
        }
    }

    return retval;
}

function resetform(cform) {
    cform.result.value="";
    cform.expr.value="";
}

function compute(cform) {
    var tmpvar;
    if (cform.cotype[0].checked){
        // d2h
        cform.result.value = "Hex: " +  from10toradix(cform.expr.value,16);
    }else if (cform.cotype[5].checked){
        // h2d
        cform.result.value = "Dec: " + parseInt(cform.expr.value,16);
    }else if (cform.cotype[1].checked){
        // d2b
        cform.result.value = "Bin: " + from10toradix(cform.expr.value,2);
    }else if (cform.cotype[2].checked){
        // b2d
        cform.result.value = "Dec: " + parseInt(cform.expr.value,2);
    }else if (cform.cotype[3].checked){
        // b2h
        tmpvar = parseInt(cform.expr.value,2);
        if (isNaN(tmpvar)){
            cform.result.value = 'NaN';
        }else{
            cform.result.value = "Hex: " + from10toradix(tmpvar,16);
        }
    }else if (cform.cotype[4].checked){
        // h2b
        tmpvar = parseInt(cform.expr.value,16);
        if (isNaN(tmpvar)){
            cform.result.value = 'NaN';
        }else{
            cform.result.value = "Bin: " + from10toradix(tmpvar,2);
        }
    }else{
        alert("ERROR: No such conversion type");
    }
}
/*COLORS*/


function animatr(){

//totale tijd
//tijd van een stuk
//tijdhappen
//brokken van transformatie
//een rechte lijn of parabool

var ttltm;
var pctm;
var gaps;
var brick;
var ttype = 'parabole';




}



opacity = function(obj,tint,start){
	if(!obj.cnt){
		if(!start) obj.cnt = '1';
		else obj.cnt = start;
		var myses = crtSess(4);
	}
	else obj.cnt = caught(obj.cnt,tint,4);
	obj.opac(obj.cnt);
if(obj.cnt != tint){
	
setTimeout(function(){if(obj != null) opacity.nF(ooo,obj,tint);
	oO();}, 
	20);
}
else{
	delete obj.cnt; 
	oO();
	}
}

fadeIn = function(obj){var xs = crtSess(5);opacity.nF(xs,obj,10,0);oO(xs);};
fadeOut = function(obj){var xs = crtSess(5);opacity.nF(xs,obj,0,10);oO(xs);};



/*MOVEMENT*/
slideBox = function(myObj,w,h){

if(!myObj.curW){
	 myObj.curW =  myObj.style.width.replace('px','');
	 if(myObj.curW == "") myObj.curW  = myObj.offsetWidth;
	}
if(!myObj.curH){
	var myses = crtSess(4);
	myObj.curH =  myObj.style.height.replace('px','');
	if(myObj.curH == "") myObj.curH =  myObj.offsetHeight;
}

var size = 4;


if(myObj.curW != w && w != ''){
var inw = myObj.curW;
myObj.curW = caught(myObj.curW,w,size);
inw = (inw - myObj.curW)/2;
myObj.style.width =  myObj.curW + 'px';
myObj.style.left = (Math.round(myObj.style.left.replace('px','')) + inw) + 'px';
size = 0;
}
if(myObj.curH != h && h != ''){
var inh = myObj.curH;
myObj.curH = caught(myObj.curH,h,size);
inh = (inh - myObj.curH)/2;
myObj.style.height =  myObj.curH + 'px';
myObj.style.top = (Math.round(myObj.style.top.replace('px','')) + inh) + 'px';
size = 0;
}


if(size == 0)setTimeout(
function(){
	if(myObj != null){ 
		slideBox.nF(ooo,myObj,w,h);
		oO();
		};
	},20);
else {
	//myObj.style.height = ''; kan niet activeren wegens anders een fout in de imggallery
	oO();
	}
}



pullDown = function(myObj,seth,spd){


if(!myObj.oH){
	myObj.oH = seth.offsetHeight;
	if(typeof seth == "number") myObj.oH = seth;
	myObj.oS = myObj.offsetHeight;
	myObj.style.height = myObj.oS + 'px';
	myObj.oC = myObj.oS;
	myObj.spd = spd;
	if(myObj.oS < 8) myObj.oS = '0';
	if(!spd) myObj.spd = '5';
	}
	
// alert('topoint:' + myObj.oH + '\n' +  'tosave:' + myObj.oS + '\n' + 'acurrent:' + myObj.oC + '\n' );


if(!$('pd_'	+ myObj.id)) {
	var pull = crtDiv('pd_'	+ myObj.id);
	pull.innerHTML = myObj.innerHTML;
	myObj.innerHTML = "";
	myObj.append(pull);
	
	myObj.style.overflow = "hidden";
	//myObj.style.position = "absolute";
	//pull.style.position = 'absolute';
	//pull.style.bottom = '0';
	//pull.style.left = '0';
	//pull.style.width = '100%';
}


myObj.oC = caught(myObj.oC,myObj.oH,myObj.spd);
myObj.style.height = myObj.oC + 'px';


if(myObj.oH != myObj.oC)setTimeout(
function(){
	if(myObj != null){pullDown.nF(ooo,myObj);oO(ooo);};
	},20);
else {
	if(myObj.oS == 0)myObj.oH = '0';
	else myObj.oH = myObj.oS;
	myObj.oS = myObj.oC;
	oO();
	}



}

moveIt = function(myObj,x,y){
if(!myObj.oY){
tpos = findPos(myObj);
myObj.oY = tpos[1];
myObj.gY = tpos[1] + y;
myObj.oX = tpos[0];
myObj.gX = tpos[0] + x;
}

myObj.oY = caught(myObj.oY,myObj.gY,'5');
myObj.style.top = myObj.oY + 'px';



if(myObj.oY != myObj.gY)setTimeout(function(){
if(myObj != null){moveIt.nF(ooo,myObj);oO(ooo);};
	},20);
else oO();
	


}
/*MOVEMENT*/





/*Calculation*/
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;
		}
	}
	return [curleft,curtop];
}


function caught(point,goal,size){
if(point < goal){
	var s = (parseFloat(goal) - parseFloat(point))/size;
	var point = parseFloat(point) + parseFloat(s);
}
else{
	var s = (parseFloat(point) - parseFloat(goal))/size;
	var point =  parseFloat(point) - parseFloat(s);
}
if (Math.round(point) == goal) point = goal;
return point;
}