// JavaScript Document

step=1;
colore= Math.ceil(5*Math.random());
pausa=20;
pausafc=5000;
larg_tot=450;
dist_da_link=3;


function traspare(obj) {
    if (navigator.appName.indexOf("xplore") > 0) {
        if (obj.src.indexOf("spacer.gif") < 0) {
            img = obj.src;
            obj.src = 'http://www.ozcreative.it/img/spacer.gif';
            obj.style.filter = " progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img + "', sizingMethod='scale')";
        }
    }
}



function fade(start,end){
    var finiti,Sr,Sg,Sb,Er,Eg,Eb;
    finiti=Sr=Sg=Sb=Er=Eg=Eb=0;


    // cambia colore
    document.getElementById('sxl').style.background=start;
    document.getElementById('dxl').style.background=start;
    document.getElementById('logo').style.background=start;
    document.getElementById('cv').style.background=start;
    document.getElementById('bottom').style.background=start;
    //document.getElementById('top').style.background=start;
    // HEX->DEC
    Sr=parseInt(start.substr(1,2),16);
    Sg=parseInt(start.substr(3,2),16);
    Sb=parseInt(start.substr(5,2),16);
    Er=parseInt(end.substr(1,2),16);
    Eg=parseInt(end.substr(3,2),16);
    Eb=parseInt(end.substr(5,2),16);
    // modifica valori per il prossimo ciclo
    if(Sr==Er){ finiti++; }else{ Dr=Sr-Er; if(Dr>step) Dr=step; if(Dr<-step) Dr=-step; Sr-=Dr; }
    if(Sg==Eg){ finiti++; }else{ Dg=Sg-Eg; if(Dg>step) Dg=step; if(Dg<-step) Dg=-step; Sg-=Dg; }
    if(Sb==Eb){ finiti++; }else{ Db=Sb-Eb; if(Db>step) Db=step; if(Db<-step) Db=-step; Sb-=Db; }
    // DEC->HEX
    Sr=Sr.toString(16); if(Sr.length==1) Sr='0'+Sr;
    Sg=Sg.toString(16); if(Sg.length==1) Sg='0'+Sg;
    Sb=Sb.toString(16); if(Sb.length==1) Sb='0'+Sb;
    Er=Er.toString(16); if(Er.length==1) Er='0'+Er;
    Eg=Eg.toString(16); if(Eg.length==1) Eg='0'+Eg;
    Eb=Eb.toString(16); if(Eb.length==1) Eb='0'+Eb;
    start='#'+Sr+Sg+Sb;
    end=    '#'+Er+Eg+Eb;
    // riavvia se non è finito
    if(finiti<3) {
		setTimeout("fade('"+start+"', '"+end+"')", pausa);
	} else {
		colore++;
		setTimeout("passa();", pausafc);
	}
}

function passa() {
	if (colore==6) {
		colore=1;
	}
	if (colore==1) {
		fade('#6F7072', '#96BD0D');
	} else if (colore==2) {
		fade('#96BD0D', '#37A8DB');
	} else if (colore==3) {
		fade('#37A8DB', '#EB7405');
	} else if (colore==4) {
		fade('#EB7405', '#E1001A');
	} else if (colore==5) {
		fade('#E1001A', '#6F7072');
	}  
}

window.onload= function() {
	

	
	passa();
	//fade('#37A8DB','#96BD0D',20);
	
}
smenuonline=0;
tempomenu=null;
function nomenu(obj) 
{
	if(obj.id) {
		if (smenuonline!=parseInt(obj.id)) {
			hide(parseInt(obj.id)+'smenu');
		} else {
			smenuonline=parseInt(obj.id);
			tempomenu=setTimeout("hide('"+smenuonline+"smenu');hide('sxl');hide('dxl');",600);
		}
	} else {
		hide('sxl');
		hide('dxl');
		hide(smenuonline+'smenu');
	}
}


function nosmenu(obj) 
{
		if (smenuonline!=parseInt(obj.id)) {
			hide(parseInt(obj.id)+'smenu');
		} else {
			smenuonline=parseInt(obj.id);
			tempomenu=setTimeout("hide('"+smenuonline+"smenu');hide('sxl');hide('dxl');",600);
		}
}

function onsmenu(obj) {
	if (parseInt(obj.id)==smenuonline) {clearTimeout(tempomenu);} else if (smenuonline>0) {hide(smenuonline+'smenu');}
	smenuonline=parseInt(obj.id);
}
function onmenu(obj) 
{
    clearTimeout(tempomenu);

	var dims = new ElementDimensions(obj);
	//alert(dims.outer.width);

	dimens = dims.outer.width + 6;
	larglin = parseInt((larg_tot - (dist_da_link * 2) - dimens) / 2);
	
	setwidth('sxl',larglin);
	setwidth('dxl',larglin);

	//dims.outer.top
	//dims.outer.left

	sposta('sxl', dims.top + 7, dims.left - larglin - 3);
	sposta('dxl', dims.top + 7, dims.left + dimens - 3);
	
	show('sxl');
	show('dxl');

	if (obj.id) {
	    if (smenuonline != 0) {
	        hide(smenuonline + 'smenu');
	    }
	    sposta(parseInt(obj.id) + 'smenu', findElementPosition(obj)['curtop'] + 9, findElementPosition(obj)['curleft'] + dimens + 40);
	    show(parseInt(obj.id) + 'smenu');
	    smenuonline = parseInt(obj.id);
	} else {
	    hide(smenuonline + 'smenu');
	}

	
	//alert(findElementPosition(obj)['curtop'] +' - '+findElementPosition(obj)['curleft']);
	//alert(obj.parentNode.innerHTML);
	//obj.parentNode.innerHTML='<img src="img/gray.gif" width="100%" height="1">'+obj.parentNode.innerHTML+'<img src="img/gray.gif" width="100%" height="1">';
}

function findElementPosition(obj) {
        var curleft = curtop = 0;
        if (obj.offsetParent) {
          curleft = obj.offsetLeft
          curtop = obj.offsetTop
          while (obj = obj.offsetParent) {
           curleft += obj.offsetLeft
           curtop += obj.offsetTop
          }
        }
        var param = new Object ();
        param['curleft']  = curleft ;
        param['curtop']  = curtop ;
        return param;
}
function sposta(obj,top,left) 
{
	var d = document;
	var op2=d.getElementById?d.getElementById(obj):d.all?d.all[obj]:d.layers[obj];

		if (document.all) {
			op2.style.pixelTop = top;
			op2.style.pixelLeft = left;
		} else {
			op2.style.top = top+'px';
			op2.style.left = left+'px';
		}
}
function show(objj)
{
	if (document.getElementById)
		{document.getElementById(objj).style.visibility = "visible";}
	else
		{if (document.layers)
			{document.layers[objj].visibility = "show";}
		else
			{document.all(objj).style.visibility = "visible";}
	}
}
	 
function hide(objj) {
	if (document.getElementById)
		{document.getElementById(objj).style.visibility = "hidden";}
	else
	{
		if (document.layers)
			{document.layers[objj].visibility = "hide";}
		else
			{document.all(objj).style.visibility = "hidden";}
	}
}


function ElementDimensions(elem)
{
	this.inner = {	//content and padding; gives 0 for inline elements (you can use scrollWidth/Height if it's inline)
		width: elem.clientWidth,
		height: elem.clientHeight
	};
	this.outer = {	//everything (content, padding, scrollbar, border)
		width: elem.offsetWidth,
		height: elem.offsetHeight
	};
	this.scroll = {
		//width & height of entire content field (including padding), visible or not
		//incorrect in Opera; it doesn't include the padding
		width: elem.scrollWidth,
		//if there are no scrollbars, IE gives the actual height of the content instead of the height of the element
		height: elem.scrollHeight<elem.clientHeight ? elem.clientHeight : elem.scrollHeight,
		
		//scroll position of content & padding
		left: elem.scrollLeft,
		top: elem.scrollTop
	};
	
	//position of element from the top-left corner of the document
	var tmp = elem;
	this.left = this.top = 0;
	while(tmp.offsetParent)
	{
		this.left += tmp.offsetLeft;
		this.top += tmp.offsetTop;
		tmp = tmp.offsetParent;
	}
}

function setwidth(obj, qqq) {
    d = document.getElementById(obj);
    d.style.width = qqq + "px";
}

function setheight(obj, qqq) {
    d = document.getElementById(obj);
    d.style.height = qqq + "px";
}





function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //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++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

fotonline = 0;
aperto = false;
foto = true;

function aprifoto(nnn) {
    fotonline = nnn;
    eval(fotojob[nnn]);
    //<a href="javascript:scorrifoto(-1);">◄</a> <a href="javascript:chiudi();">chiudi</a> <a href="javascript:scorrifoto(1);">►</a><br />

}

function scorrifoto(num) {
    changeOpac(0, 'fotomax');
    fotonline2 = fotonline + num;
    fotonline = fotonline2 < 0 ? fotojob.length - 1 : fotonline2 > fotojob.length - 1 ? 0 : fotonline2;
    eval(fotojob[fotonline]);
}

function aprivideomax(fmx, ltf) {

    foto = false;
    aprifotomax(fmx, ltf);
}
function aprifotoomax(fmx, ltf) {

    foto = true;
    aprifotomax(fmx, ltf);
}

function aprifotomax(fmx,ltf) {
    //carica foto
    var d = document;
    var op = d.getElementById ? d.getElementById('fotomax') : d.all ? d.all['fotomax'] : d.layers['fotomax'];
    var op2 = d.getElementById ? d.getElementById('badi') : d.all ? d.all['badi'] : d.layers['badi'];
    var dims2 = new ElementDimensions(op2);

    if (!foto) {
        sposta('mask', -1000, -1000);
        opacity('mask', 100, 0, 200);
    } else { 
        sposta('mask', (dims2.outer.height - 640) / 2, (dims2.outer.width - 640) / 2);
        opacity('mask', 0, 100, 150);
    }

    if (!aperto) {

        sposta('portafoto', (dims2.outer.height - 700) / 2, (dims2.outer.width - 680) / 2);
            opacity('portafoto', 0, 100, 200);

            sposta('fr_ch', (dims2.outer.height - 700) / 2, ((dims2.outer.width - 680) / 2) + 680 - 10);
            opacity('fr_ch', 0, 100, 200);
        if (fotojob.length > 1) 
        {
            sposta('fr_sx', (dims2.outer.height - 50) / 2, ((dims2.outer.width - 680) / 2) - 40);
            opacity('fr_sx', 0, 100, 200);
            sposta('fr_dx', (dims2.outer.height - 50) / 2, ((dims2.outer.width - 680) / 2) - 10 + 680);
            opacity('fr_dx', 0, 100, 200);
        }
        setwidth('sfoto', dims2.outer.width);
        setheight('sfoto', dims2.outer.height + 50);
        sposta('sfoto', 0, 0);
        opacity('sfoto', 0, 70, 200);
        sposta('mask', (dims2.outer.height - 640) / 2, (dims2.outer.width - 640) / 2);
        opacity('mask', 0, 100, 150);
    aperto = true;
}

    if (!foto) {
        op.innerHTML = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="640" height="535" id="ozplayer" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="ozplayer.swf?videoflv=' + fmx + '" /><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" />	<embed src="ozplayer.swf?videoflv=' + fmx + '" quality="high" bgcolor="#FFFFFF" width="640" height="535" name="ozplayer" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_it" /></object><br /> ' + ltf;

        sposta('fotomax', (dims2.outer.height - 535) / 2, (dims2.outer.width - 640) / 2);
        opacity('fotomax', 0, 100, 350);
    
    } else { 
        op.innerHTML = '<img src="' + fmx + '" onLoad="mostrafotomax();" /><br /> ' + ltf;
    }

        foto = true;
}

function mostrafotomax() { 
    var d = document;
    var op = d.getElementById ? d.getElementById('fotomax') : d.all ? d.all['fotomax'] : d.layers['fotomax'];
    var op2 = d.getElementById ? d.getElementById('badi') : d.all ? d.all['badi'] : d.layers['badi'];

    var dims = new ElementDimensions(op2);
    var dims2 = new ElementDimensions(op);
    //alert(dims.outer.width);


    sposta('fotomax', (dims.outer.height - dims2.outer.height) / 2, (dims.outer.width - dims2.outer.width) / 2);

    //badi
    //traspare
    
    opacity('fotomax', 0, 100, 350);
    
}

function chiudi() {

    if (fotojob.length > 1) {
        sposta('fr_sx', -960, -960);
        opacity('fr_sx', 100, 0, 200);
        sposta('fr_dx', -960, -960);
        opacity('fr_dx', 100, 0, 200);
    }
    sposta('fr_ch', -960, -960);
    opacity('fr_ch', 100, 0, 200);
    sposta('portafoto', -960, -960);
    opacity('portafoto', 100, 0, 200);
    opacity('sfoto', 70, 0, 200);
    sposta('sfoto', -1000, -1000);
    sposta('mask', -1000, -1000);
    opacity('mask', 100, 0, 200);

    opacity('fotomax', 100, 0, 200);
    sposta('fotomax', -1000, -1000);
    aperto = false;

}

function interceptArrowKey(e) {

    if (aperto) {
        e = (e) ? e : ((window.event) ? event : null);
        if (e) {
            switch (e.keyCode) {
                case 37:
                    // sinistra
                    if (fotojob.length > 1) {
                        scorrifoto(-1);
                    }
                     break;
                 case 38:
                     // su
                     chiudi();
                     break;
                 case 44:
                     // print
                     copy_clip("ozcreative.it");
                     break;
                 case 39:
                    // destra
                    if (fotojob.length > 1) {
                        scorrifoto(1);
                    }
                    break;
                case 40:
                    // giù
                    chiudi();
                    break;
            }
        }
    }
}

function copy_clip(meintext) {

    if (window.clipboardData) {

        // the IE-manier
        window.clipboardData.setData("Text", meintext);

        // waarschijnlijk niet de beste manier om Moz/NS te detecteren;
        // het is mij echter onbekend vanaf welke versie dit precies werkt:
    }
    else if (window.netscape) {

        // dit is belangrijk maar staat nergens duidelijk vermeld:
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

        // maak een interface naar het clipboard
        var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
        if (!clip) return;

        // maak een transferable
        var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
        if (!trans) return;

        // specificeer wat voor soort data we op willen halen; text in dit geval
        trans.addDataFlavor('text/unicode');

        // om de data uit de transferable te halen hebben we 2 nieuwe objecten nodig   om het in op te slaan
        var str = new Object();
        var len = new Object();

        var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);

        var copytext = meintext;

        str.data = copytext;

        trans.setTransferData("text/unicode", str, copytext.length * 2);

        var clipid = Components.interfaces.nsIClipboard;

        if (!clip) return false;

        clip.setData(trans, null, clipid.kGlobalClipboard);

    }
    alert("Following info was copied to your clipboard:\n\n" + meintext);
    return false;
}


document.onkeyup = interceptArrowKey;

