document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;
document.onkeypress = validEnter;

var dragObject  = null;
var mouseOffset = null;
var docParentPos = null;
var ojs = {typsig : "gl", cat : "vio", gl : "01", dir : "ve", nom : "Joyeux Noel", tai : 100,font: "salina", col : '00C0E3', cold : 'E65A19', colf : 'EDDE0E' , gx : null , gy: null, actualcat: "vio",crea: "sigtest",ct:0,colct : "751702"};
var selcaller = {bout : null}
var degid=['degve', 'degho', 'degci', 'degc2', 'degel', 'dege2', 'degc2', 'degdi', 'degre'];

var rd = { xmin : 0 , xMax : 0 , ymin : 0 , yMax : 0 };

function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function getPosition(e){
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}
function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function mouseMove(ev){
	ev           = ev || window.event;
	var mousePos = mouseCoords(ev);

	if(dragObject){
		dragObject.style.position = 'absolute';
		if (dragObject.id=='glitt') {
		dragObject.style.top      = Math.min(Math.max(mousePos.y - (mouseOffset.y+docParentPos.y),rd.ymin),rd.yMax);
		dragObject.style.left     = Math.min(Math.max(mousePos.x - (mouseOffset.x+docParentPos.x),rd.xmin),rd.xMax);
		
		}
		if (dragObject.id == 'curseur') {
		dragObject.style.top      = Math.min(Math.max(mousePos.y - (mouseOffset.y+42),42),172);
		}
	}
		return false;
	
}
function mouseUp(){
	if (dragObject) {
		if (dragObject.id=="curseur") {
			majtaille('glitt',ojs);
		}
		if (dragObject.id=="glitt") {
			UpdateNom('glitt',ojs);
		}
	}
	dragObject = null;
}

function makeDraggable(item){
	if(!item) return;
	item.onmousedown = function(ev){
		dragObject  = this;
		mouseOffset = getMouseOffset(this, ev);
		docParentPos = getPosition(this.offsetParent);
		if (this.id == "glitt") { rd=calcRect('glitt','crea'); }
		if (this.id == "curseur") {
			rd=calcRect("curseur","boitetaille");
			rd.xmin = 31;
			rd.xMax = 31;
		}
		return false;
	}
}



function calcRect(blabla, cadre){

	var deltax = document.getElementById(cadre).width-document.getElementById(blabla).width;
	var deltay = document.getElementById(cadre).height-document.getElementById(blabla).height;
	var basex = document.getElementById(cadre).offsetLeft;
	var basey=document.getElementById(cadre).offsetTop;
	return { xmin : basex  , xMax : basex + deltax , ymin : basey , yMax : basey + deltay };
}
	
function centreSig(blabla, cadre){
	
	rd=calcRect(blabla, cadre);
	if (rd.xMax-rd.xmin <0 || rd.yMax-rd.ymin <0) {
		reduitT(blabla, cadre);
	}
	document.getElementById(blabla).style.left= document.getElementById(cadre).offsetLeft+20;
	document.getElementById(blabla).style.top= document.getElementById(cadre).offsetTop+20;
	document.getElementById(blabla).style.visibility="visible";
	
	return 1;
}
	
function reduitT(blabla, cadre) {
	document.getElementById(blabla).style.left=document.getElementById(cadre).offsetTop;
	return 1;
}

function UpdateNom(blabla,ob) {
	ojs.gx=parseInt(document.getElementById('glitt').offsetLeft)-(parseInt(document.getElementById('crea').offsetLeft));
	ojs.gy=parseInt(document.getElementById('glitt').offsetTop)-(parseInt(document.getElementById('crea').offsetTop));
	switch (ob.typsig) {
		case "gl": 
		document.getElementById(blabla).src="glitter.php?nom="+ob.nom+"&font="+ob.font+"&typ="+ob.typsig+"&cat="+ob.cat+"&gl="+ob.gl+"&tai="+ob.tai+"&ct="+ob.ct+"&colct="+ob.colct;
		document.getElementById('tlch').href="telecharge.php?nom="+ob.nom+"&crea="+ob.crea+"&font="+ob.font+"&typ="+ob.typsig+"&cat="+ob.cat+"&gl="+ob.gl+"&tai="+ob.tai+"&gx="+ojs.gx+"&gy="+ojs.gy+"&ct="+ob.ct+"&colct="+ob.colct;
		break;
		case "dg":
		document.getElementById(blabla).src="glitter.php?nom="+ob.nom+"&font="+ob.font+"&typ="+ob.typsig+"&dir="+ojs.dir+"&st=0&cold="+ob.cold+"&colf="+ob.colf+"&tai="+ob.tai+"&ct="+ob.ct+"&colct="+ob.colct;
		document.getElementById('tlch').href="telecharge.php?nom="+ob.nom+"&crea="+ob.crea+"&font="+ob.font+"&typ="+ob.typsig+"&dir="+ojs.dir+"&st=0&cold="+ob.cold+"&colf="+ob.colf+"&tai="+ob.tai+"&gx="+ojs.gx+"&gy="+ojs.gy+"&ct="+ob.ct+"&colct="+ob.colct;
	}
}

function majpolice(ob) {
	for (var i=1 ; i <= 8 ; i++) {
	var npol = 'pol'+i;
	document.getElementById('pol'+i).src='imgft.php?nom='+ob.nom+"&font="+i;
	}
	
}
function majnom(blabla,ob) {
	ob.nom=document.getElementById("entree").value;
	UpdateNom("glitt",ojs);
	majpolice(ojs);
}

function show_props(obj, obj_name) {
var result = ""
for (var i in obj)
result += obj_name + "." + i + " = " + obj[i] + "\n"
return result
}
function selpol(cadre,pol) {
	var cadrep;
	
	for (i=0 ; i<8; i++) {
		cadrep='cadrepol'+i;
		if (cadrep == cadre) {document.getElementById(cadrep).className="polsel";}
		else {document.getElementById(cadrep).className="poldesel";}
		}
	ojs.font=pol;
	majnom('glitt',ojs);
}

function posToTaille(pos) {
	return 190-pos;
	
}
			
function majtaille(blabla,ob) {
	ob.tai=posToTaille(document.getElementById("curseur").offsetTop);
	UpdateNom('glitt',ojs);
}

function majcat(cat) {
	var catT;
	var idimgli;
	var idxdev;
	for (i=0 ; i<6 ; i++) {
		catT="cat"+i;
		if (catT == cat) {
		document.getElementById(catT).className="btcatsel";
		}
		else {
		document.getElementById(catT).className="btcatdesel";
		}
	}
	var catlabel=document.getElementById(cat).title;
	for (i=1 ; i<17 ; i++) {
		if (i < 10) { idimgli="gl0"+i; idxdev="0"+i;}
		else { idimgli="gl"+i;idxdev=i;}
		document.getElementById(idimgli).src="glitters/"+catlabel+"/"+idxdev+".gif";
	}
	for (i=1 ; i<17; i++) {
		idxdev= (i <10) ? "0"+i : i;
		idimgli="gl"+idxdev;
		if (ojs.typsig == "gl" && ojs.cat == catlabel && ojs.gl == idxdev) {
		document.getElementById(idimgli).className="imgglisel"; }
		else {
		document.getElementById(idimgli).className="imgglidesel";
		}
	ojs.actualcat=catlabel;	
	}
		
}

function seltyp(ongl) {
	if (ongl == 'boutgli') {
		document.getElementById('boutgli').className="ongsel";
		document.getElementById('boutdeg').className="ongdesel";
		document.getElementById('menugli').style.visibility="visible";
		document.getElementById('menudeg').style.visibility="hidden";
		ojs.typsig='gl';
		UpdateNom('glitt',ojs);
		}
	if (ongl == 'boutdeg') {
		document.getElementById('boutgli').className="ongdesel";
		document.getElementById('boutdeg').className="ongsel";
		document.getElementById('menugli').style.visibility="hidden";
		document.getElementById('menudeg').style.visibility="visible";
		ojs.typsig='dg';
		UpdateNom('glitt',ojs);
		    
	}
		
}

function seldeg(param) {
	switch (param) {
		case "gl" :
			document.getElementById("ds").className="contmdbtdesel";
			document.getElementById("dh").className="contmdbtdesel";
			document.getElementById("dv").className="contmdbtsel";
			document.getElementById("menucoul").style.visibility="hidden";
			document.getElementById("menucldeg").style.visibility="hidden";
			break;
		case "dg" :
			document.getElementById("ds").className="contmdbtdesel";
			document.getElementById("dh").className="contmdbtsel";
			document.getElementById("dv").className="contmdbtdesel";
			document.getElementById("menucoul").style.visibility="visible";
			document.getElementById("menucldeg").style.visibility="visible";
			break;
		}
	ojs.typsig=param;
	UpdateNom('glitt',ojs);
}

function selglitter(imglit) {
	var idxdev;
	var idimgli;
	for (i=1; i<17; i++) {
		idxdev= (i <10) ? "0"+i : i;
		idimgli="gl"+idxdev;
	if (imglit == idxdev) {
		document.getElementById(idimgli).className="imgglisel"; }
	else {
		document.getElementById(idimgli).className="imgglidesel"; }
	}
	ojs.cat=ojs.actualcat;
	ojs.gl=imglit;
	UpdateNom('glitt',ojs);
}

function inicrea() {
document.getElementById("crea").style.left=30;
}
	
function changecrea(idcrea) {
	var tmpnom=document.getElementById(idcrea).src;
	tmpnom = tmpnom.split("=");
	document.getElementById("crea").src="signature/"+tmpnom[1]+".gif";
	document.getElementById("crea").style.left=parseInt((488-parseInt(document.getElementById("crea").width))/2);
	ojs.crea=tmpnom[1];
	UpdateNom('glitt',ojs);
	centreSig('glitt','crea');
	var idx;
	for (var i=0 ; i<7 ; i++) {
		idx="crea"+i;
		if (idx == idcrea) {
			document.getElementById(idx).className="imgcreasel"; }
		else {
			document.getElementById(idx).className="imgcreadesel"; }
	}
}

function validEnter(e){ 
	var charC 

	if(e && e.which){ 
	e = e;
	charC = e.which ;
	}
	else{
	e = event;
	charC = e.keyCode ;
	}

	if(charC == 13){ 
	majnom('glitt',ojs);
	return false
	}
}

function appelSelCol( cadrecol ) {
	temoin = getPosition(document.getElementById(cadrecol));
	document.getElementById('plugin').style.top =temoin.y-150; 
	document.getElementById('plugin').style.left = temoin.x+30;
	document.getElementById('plugin').style.display = 'block';
	selcaller.bout=cadrecol;
}

function updatedeg () {
	document.getElementById('degrade').src='imgdeg.php?cdeb='+ojs.cold+'&cfin='+ojs.colf;
}


function mkColor(v){
	$S(selcaller.bout).backgroundColor='#'+v;
	switch (selcaller.bout) {
		case "btcouldeb" :
			ojs.cold=v;
			break;
		case "btcoulfin" :
			ojs.colf=v;
			break;
		case "btcoulct" :
			ojs.colct=v;
			break;
	}
}

function majSigDeg() {
	cache('plugin')

	UpdateNom('glitt',ojs);
	updatedeg();
}

function initbout() {
	document.getElementById('btcouldeb').style.backgroundColor='#'+ojs.cold;
	document.getElementById('btcoulfin').style.backgroundColor='#'+ojs.colf;
	document.getElementById('btcoulct').style.backgroundColor='#'+ojs.colct;
}

function seldegtyp(typed) {
	for (i=0 ; i<9 ; i++) document.getElementById(degid[i]).className='degbetdesel';
	document.getElementById("deg"+typed).className='degbetsel';
	ojs.dir=typed;
	UpdateNom('glitt',ojs);
}

function selcontour(bouton) {
	if (bouton=="btcontour") {
		document.getElementById(bouton).className='degbetsel';
		document.getElementById('btsanscont').className='degbetdesel';
		ojs.ct=1;
	}
	else {
		document.getElementById(bouton).className='degbetsel';
		document.getElementById('btcontour').className='degbetdesel';
		ojs.ct=0;
	}
	UpdateNom('glitt',ojs);
}

function swapdeg() {
	var tmpcolor;
	document.getElementById('btcouldeb').style.backgroundColor='#'+ojs.colf;
	document.getElementById('btcoulfin').style.backgroundColor='#'+ojs.cold;
	tmpcolor=ojs.cold;
	ojs.cold=ojs.colf;
	ojs.colf=tmpcolor;
	UpdateNom('glitt',ojs);
	updatedeg();
}

/* Copyright  http://www.design-pardis.com */
	
