g_deck test
[brisk.git] / web / briskin5 / dnd.js
index 76e4fab..f17a2e5 100644 (file)
@@ -2,7 +2,7 @@
  *  brisk - dnd.js
  *
  *  Copyright (C) 2006-2012 Matteo Nastasi
- *                          mailto: nastasi@alternativeoutput.it 
+ *                          mailto: nastasi@alternativeoutput.it
  *                                  matteo.nastasi@milug.org
  *                          web: http://www.alternativeoutput.it
  *
@@ -46,12 +46,14 @@ var cards_we_n;
 var takes_we_n;
 
 /* width of images */
-var cards_width = 55 + 2; 
-var cards_width_d2 =  27; 
+var cards_width = 65;
+var cards_width_d2 =  Math.ceil(cards_width / 2);
 
 /* height of images */
-var cards_height = 101 + 2; 
-var cards_height_d2 =   51; 
+var cards_height = 111;
+var cards_height_d2 =  Math.ceil(cards_height / 2);
+
+console.log('G_deck: ' + g_deck);
 
 /* width of hands area */
 var hands_width = 400;
@@ -90,7 +92,7 @@ function cards_dispose_so(car_n, tak_n)
     if (tak_n > 0) {
        delta = 80;
        $("takes").style.left = 200 + 400 - 90 + ((90 - cards_width) /  2);
-       $("takes").style.top  = 475 + (125 - cards_height)/2;
+       $("takes").style.top  = 475 + (126 - cards_height)/2;
        $("takes").style.zIndex = 1;
        $("takes").style.visibility = "visible";
     }
@@ -111,7 +113,7 @@ function cards_dispose_so(car_n, tak_n)
 
     for (i = 0 ; i < car_n ; i++) {
        $("card" + cards_pos[i]).style.left = start + (i * inter);
-       $("card" + cards_pos[i]).style.top  = 475 + (125 - cards_height)/2;
+       $("card" + cards_pos[i]).style.top  = 475 + (126 - cards_height)/2;
        $("card" + cards_pos[i]).style.zIndex = CARD_HAND - i;
        $("card" + cards_pos[i]).style.visibility = "visible";
     }
@@ -120,7 +122,7 @@ function cards_dispose_so(car_n, tak_n)
     takes_n = tak_n;
 
     return (0);
-} 
+}
 
 function cards_dispose_ne(car_n, tak_n) {
     // tak_n = 2;
@@ -128,7 +130,7 @@ function cards_dispose_ne(car_n, tak_n) {
     if (tak_n > 0) {
        delta = 80;
        $("takes_ne").style.left = 800 - cards_width - 400 + 90 - ((90 - cards_width) /  2);
-       $("takes_ne").style.top  = (125 - cards_height)/2;
+       $("takes_ne").style.top  = (126 - cards_height)/2;
        $("takes_ne").style.zIndex = 1;
        $("takes_ne").style.visibility = "visible";
     }
@@ -159,7 +161,7 @@ function cards_dispose_ne(car_n, tak_n) {
     takes_ne_n = tak_n;
 
     return (0);
-} 
+}
 
 function cards_dispose_nw(car_n, tak_n) {
     // tak_n = 2;
@@ -167,7 +169,7 @@ function cards_dispose_nw(car_n, tak_n) {
     if (tak_n > 0) {
        delta = 80;
        $("takes_nw").style.left = 400 - cards_width - 400 + 90 - ((90 - cards_width) /  2);
-       $("takes_nw").style.top  = (125 - cards_height)/2;
+       $("takes_nw").style.top  = (126 - cards_height)/2;
        $("takes_nw").style.zIndex = 1;
        $("takes_nw").style.visibility = "visible";
     }
@@ -200,12 +202,12 @@ function cards_dispose_nw(car_n, tak_n) {
     takes_nw_n = tak_n;
 
     return (0);
-} 
+}
 
 function cards_dispose_ea(car_n, tak_n) {
     if (tak_n > 0) {
        delta = 80;
-       $("takes_ea").style.left = 675 + (125 - cards_height)/2;
+       $("takes_ea").style.left = 675 + (126 - cards_height)/2;
        $("takes_ea").style.top  = 125 + ((90 - cards_width) /  2);
        $("takes_ea").style.zIndex = 1;
        $("takes_ea").style.visibility = "visible";
@@ -227,7 +229,7 @@ function cards_dispose_ea(car_n, tak_n) {
     list = "LIST: ";
     // console.log(car_n);
     for (i = 0 ; i < car_n ; i++) {
-       $("card_ea" + cards_ea_pos[i]).style.left = 675 + (125 - cards_height)/2;
+       $("card_ea" + cards_ea_pos[i]).style.left = 675 + (126 - cards_height)/2;
        $("card_ea" + cards_ea_pos[i]).style.top  = start + (i * inter);
        $("card_ea" + cards_ea_pos[i]).style.zIndex = CARD_HAND - i;
        $("card_ea" + cards_ea_pos[i]).style.visibility = "visible";
@@ -238,9 +240,9 @@ function cards_dispose_ea(car_n, tak_n) {
     takes_ea_n = tak_n;
 
     return (0);
-} 
+}
 
-function cards_dispose_we(car_n, tak_n) 
+function cards_dispose_we(car_n, tak_n)
 {
     if (tak_n > 0) {
        delta = 80;
@@ -283,7 +285,7 @@ function cards_dispose_we(car_n, tak_n)
     takes_we_n = tak_n;
 
     return (0);
-} 
+}
 
 var cards_dispose_arr = new Array(cards_dispose_so, cards_dispose_ea,
                                  cards_dispose_ne, cards_dispose_nw,
@@ -310,20 +312,20 @@ function card_mouseup_cb(o) {
     /* case swap in the group */
 
     // alert("mouseup");
-    if (parseInt(o.style.top) > 475 && 
+    if (parseInt(o.style.top) > 475 &&
        parseInt(o.style.left) >= 200 && parseInt(o.style.left) < 600) {
        /* Rearrange cards */
        
        // $("sandbox3").innerHTML = "REARRANGE: "+idx;
 
-       if (takes_n > 0) 
+       if (takes_n > 0)
            delta = 80;
        else
            delta = 0;
        
        /* found the associated index of the current card. */
-       for (i = 0 ; i < cards_n ; i++) 
-           if (cards_pos[i] == idx) 
+       for (i = 0 ; i < cards_n ; i++)
+           if (cards_pos[i] == idx)
                break;
        old_idx = i;
 
@@ -349,7 +351,7 @@ function card_mouseup_cb(o) {
            if (tst) {
                // $("sandbox2").innerHTML = "old: " +old_idx+ " i: " +i+ "left: " + parseInt(o.style.left) + "comp: " + (start + (cards_width / 2) + (i * (cards_width / 2)));
 
-               if (i == old_idx) 
+               if (i == old_idx)
                    break;
                if (i > old_idx) {
                    /* moved to right */
@@ -370,10 +372,10 @@ function card_mouseup_cb(o) {
 
        return (0);
     }
-    else if (is_my_time && 
-            parseInt(o.style.top) >= 250 && 
+    else if (is_my_time &&
+            parseInt(o.style.top) >= 250 &&
             parseInt(o.style.top) + cards_height < 450 &&
-            parseInt(o.style.left) >= 300 && 
+            parseInt(o.style.left) >= 300 &&
             (parseInt(o.style.left) + cards_width) < 500) {
        /* Played card */
 
@@ -386,7 +388,7 @@ function card_mouseup_cb(o) {
                    cards_pos[e] = cards_pos[e+1];
                }
                cards_pos[cards_n-1] = idx;
-               cards_n--; 
+               cards_n--;
                cards_dispose_so(cards_n, takes_n);
 
                is_my_time = false;
@@ -409,111 +411,117 @@ function card_mouseup_cb(o) {
 }
 
 /* CARD_SEND */
-function card_send_so(id,card,free,ct)
+function card_send_so(id, card, free, ct)
 {
     var img = $("card"+id);
-    img.src = getcard(-1,0);
+    img.setAttribute('data-card-id', getcard(-1,0));
     img.briskid = card;
 
     img.style.left = 400 - cards_width_d2;
     img.style.top  = 300 - cards_height_d2;
     img.style.zIndex = 100;
 
-    var movimg = new slowimg(img,400 - cards_width / 2,475 + (125 - cards_height)/2,25,free,"cards_dispose_so("+ct+", 0)",getcard(card,0));
+    var movimg = new slowimg(img, 400 - cards_width / 2,475 + (125 - cards_height)/2, 25,
+                             free, "cards_dispose_so(" + ct + ", 0)", getcard(card, 0));
     movimg.settime(G_send_time);
     movimg.start(gst);
 }
 
-function card_send_ea(id,card,free,ct)
+function card_send_ea(id, card, free, ct)
 {
     var img = $("card_ea"+id);
-    img.src = getcard(card,1);
+    img.setAttribute('data-card-id', getcard(card, 1));
     img.briskid = card;
 
     img.style.left = 400 - cards_height_d2;
     img.style.top  = 300 - cards_width_d2;
     img.style.zIndex = 100;
 
-    var movimg = new slowimg(img,686,296,25,free,"cards_dispose_ea("+ct+", 0);",getcard(card,1));
+    var movimg = new slowimg(img, 686, 296, 25,
+                             free, "cards_dispose_ea(" + ct + ", 0);", getcard(card, 1));
     movimg.settime(G_send_time);
     movimg.start(gst);
 }
 
-function card_send_ne(id,card,free,ct)
+function card_send_ne(id, card, free, ct)
 {
     var img = $("card_ne"+id);
-    img.src = getcard(card,2);
+    img.setAttribute('data-card-id', getcard(card, 2));
     img.briskid = card;
 
     img.style.left = 400 - cards_width_d2;
     img.style.top  = 300 - cards_height_d2;
     img.style.zIndex = 100;
 
-    var movimg = new slowimg(img,571,11,25,free,"cards_dispose_ne("+ct+", 0);",getcard(card,2));
+    var movimg = new slowimg(img, 571, 11, 25,
+                             free, "cards_dispose_ne(" + ct + ", 0);", getcard(card, 2));
     movimg.settime(G_send_time);
     movimg.start(gst);
 }
 
-function card_send_nw(id,card,free,ct)
+function card_send_nw(id, card, free, ct)
 {
     var img = $("card_nw"+id);
-    img.src = getcard(card,3);
+    img.setAttribute('data-card-id', getcard(card, 3));
     img.briskid = card;
 
     img.style.left = 400 - cards_width_d2;
     img.style.top  = 300 - cards_height_d2;
     img.style.zIndex = 100;
 
-    var movimg = new slowimg(img,171,11,25,free,"cards_dispose_nw("+ct+", 0);",getcard(card,3));
+    var movimg = new slowimg(img, 171, 11, 25,
+                             free, "cards_dispose_nw(" + ct + ", 0);", getcard(card, 3));
     movimg.settime(G_send_time);
     movimg.start(gst);
 }
 
-function card_send_we(id,card,free,ct)
+function card_send_we(id, card, free, ct)
 {
     var img = $("card_we"+id);
-    img.src = getcard(card,4);
+    img.setAttribute('data-card-id', getcard(card, 4));
     img.briskid = card;
 
     if (id < 0 || id > 39)
        alert("ID ERRATO"+id);
-    
+
     img.style.left = 400 - cards_height_d2;
     img.style.top  = 300 - cards_width_d2;
     img.style.zIndex = 100;
-    var movimg = new slowimg(img,11,296,25,free,"cards_dispose_we("+ct+", 0);",getcard(card,4));
+    var movimg = new slowimg(img, 11, 296, 25,
+                             free,"cards_dispose_we(" + ct + ", 0);", getcard(card, 4));
     movimg.settime(G_send_time);
     movimg.start(gst);
 }
 
-var card_send_arr = new Array(card_send_so, card_send_ea, 
+var card_send_arr = new Array(card_send_so, card_send_ea,
                              card_send_ne, card_send_nw,
                              card_send_we);
 
-function card_send(player_pos,id,card,free,ct)
+function card_send(player_pos, id, card, free, ct)
 {
     var idx = (player_pos - table_pos + PLAYERS_N) % PLAYERS_N;
 
     card_send_arr[idx](id,card,free,ct);
 }
 
-function getcard(card,pos_id)
+function getcard(card, pos_id)
 {
     if (card < 0)
-       return ("img/cover"+sux[pos_id]+".png");
+       return ("cover" + sux[pos_id]);
     else if (card < 10)
-       return ("img/0"+card+sux[pos_id]+".png");
-    else 
-       return ("img/"+card+sux[pos_id]+".png");
+       return ("0" + card+sux[pos_id]);
+    else
+       return ("" + card + sux[pos_id]);
 }
 
-function card_setours(zer,uno,due,tre,qua,cin,sei,set)
+function card_setours(zer, uno, due, tre, qua, cin, sei, set)
 {
     var i;
-    var arg = new Array(zer,uno,due,tre,qua,cin,sei,set);
+    var arg = new Array(zer, uno, due, tre, qua, cin, sei, set);
 
     for (i = 0 ; i < CARD_HAND ; i++) {
-       $("card"+i).src = getcard(arg[i], 0);
+        var id = (arg[i] < 10 ? '0' + arg[i] : '' + arg[i]);
+       $("card"+i).setAttribute('data-card-id', id);
        $("card"+i).briskid = arg[i];
     }
 }
@@ -529,15 +537,15 @@ function card_play_so(card_idx, x, y)
 function card_postplay_ea(card_pos)
 {
     var img = $("card_ea"+card_pos);
-    
-    img.className = "";
+
+    // img.className = "";
     for (i = 0 ; i < cards_ea_n ; i++) {
        if (cards_ea_pos[i] == card_pos) {
            for (e = i ; e < cards_ea_n-1 ; e++) {
                cards_ea_pos[e] = cards_ea_pos[e+1];
            }
            cards_ea_pos[cards_ea_n-1] = card_pos;
-           cards_ea_n--; 
+           cards_ea_n--;
            cards_dispose_ea(cards_ea_n, takes_ea_n);
            break;
        }
@@ -554,7 +562,7 @@ function card_play_ea(card_idx, x, y)
     var x1, y1;
 
     x1 = 500 + ((y-250) * (125 - cards_height) / (200 - cards_height));
-    y1 = 450 - cards_width - (x - 300);    
+    y1 = 450 - cards_width - (x - 300);
 
     var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_ea("+cards_ea_pos[card_pos]+");", newname);
     movimg.settime(G_play_time);
@@ -565,16 +573,15 @@ function card_play_ea(card_idx, x, y)
 function card_postplay_ne(obj,card_pos)
 {
     var img = $("card_ne"+card_pos);
-    
-    img.className = "";
 
+    // img.className = "";
     for (i = 0 ; i < cards_ne_n ; i++) {
        if (cards_ne_pos[i] == card_pos) {
            for (e = i ; e < cards_ne_n-1 ; e++) {
                cards_ne_pos[e] = cards_ne_pos[e+1];
            }
            cards_ne_pos[cards_ne_n-1] = card_pos;
-           cards_ne_n--; 
+           cards_ne_n--;
            cards_dispose_ne(cards_ne_n, takes_ne_n);
            break;
        }
@@ -588,7 +595,7 @@ function card_play_ne(card_idx, x, y)
     var newname = getcard(card_idx,2);
     var x1, y1;
 
-    x1 = 600 - cards_width - (x - 300);    
+    x1 = 600 - cards_width - (x - 300);
     y1 = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
 
     var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_ne(this,"+cards_ne_pos[card_pos]+");", newname);
@@ -600,15 +607,15 @@ function card_play_ne(card_idx, x, y)
 function card_postplay_nw(card_pos)
 {
     var img = $("card_nw"+card_pos);
-    
-    img.className = "";
+
+    // img.className = "";
     for (i = 0 ; i < cards_nw_n ; i++) {
        if (cards_nw_pos[i] == card_pos) {
            for (e = i ; e < cards_nw_n-1 ; e++) {
                cards_nw_pos[e] = cards_nw_pos[e+1];
            }
            cards_nw_pos[cards_nw_n-1] = card_pos;
-           cards_nw_n--; 
+           cards_nw_n--;
            cards_dispose_nw(cards_nw_n, takes_nw_n);
            break;
        }
@@ -622,7 +629,7 @@ function card_play_nw(card_idx, x, y)
     var newname = getcard(card_idx,3);
     var x1, y1;
 
-    x1 = 400 - cards_width - (x - 300);    
+    x1 = 400 - cards_width - (x - 300);
     y1 = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
 
     var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_nw("+cards_nw_pos[card_pos]+");", newname);
@@ -634,15 +641,15 @@ function card_play_nw(card_idx, x, y)
 function card_postplay_we(card_pos)
 {
     var img = $("card_we"+card_pos);
-    
-    img.className = "";
+
+    // img.className = "";
     for (i = 0 ; i < cards_we_n ; i++) {
        if (cards_we_pos[i] == card_pos) {
            for (e = i ; e < cards_we_n-1 ; e++) {
                cards_we_pos[e] = cards_we_pos[e+1];
            }
            cards_we_pos[cards_we_n-1] = card_pos;
-           cards_we_n--; 
+           cards_we_n--;
            cards_dispose_we(cards_we_n, takes_we_n);
            break;
        }
@@ -657,7 +664,7 @@ function card_play_we(card_idx, x, y)
     var x1, y1;
 
     x1 = 300 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
-    y1 = 250 + x - 300;    
+    y1 = 250 + x - 300;
 
     var movimg = new slowimg(img, x1, y1, 25, 1, "card_postplay_we("+cards_we_pos[card_pos]+");", newname);
     movimg.settime(G_play_time);
@@ -692,7 +699,7 @@ function card_place_so(card_pos, card_idx, x, y)
     img.style.left = x;
     img.style.top  = y;
     img.style.visibility  = "visible";
-    img.src = getcard(card_idx,0);
+    img.setAttribute('data-card-id', getcard(card_idx, 0));
 }
 
 /* CARD_PLACE_EA */
@@ -705,7 +712,7 @@ function card_place_ea(card_pos, card_idx, x, y)
     img.style.left = 500 + ((y-250) * (125 - cards_height) / (200 - cards_height));
     img.style.top  = 450 - cards_width - (x - 300);
     img.style.visibility  = "visible";
-    img.src = getcard(card_idx,1);
+    img.setAttribute('data-card-id', getcard(card_idx, 1));
 }
 
 /* CARD_PLACE_NE */
@@ -718,7 +725,7 @@ function card_place_ne(card_pos, card_idx, x, y)
     img.style.left = 600 - cards_width - (x - 300);
     img.style.top  = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
     img.style.visibility  = "visible";
-    img.src = getcard(card_idx,2);
+    img.setAttribute('data-card-id', getcard(card_idx, 2));
 }
 
 /* CARD_PLACE_NW */
@@ -731,7 +738,7 @@ function card_place_nw(card_pos, card_idx, x, y)
     img.style.left = 400 - cards_width - (x - 300);
     img.style.top  = 250 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
     img.style.visibility  = "visible";
-    img.src = getcard(card_idx,3);
+    img.setAttribute('data-card-id', getcard(card_idx, 3));
 }
 
 /* CARD_PLACE_WE */
@@ -744,7 +751,7 @@ function card_place_we(card_pos, card_idx, x, y)
     img.style.left = 300 - cards_height - ((y-250) * (125 - cards_height) / (200 - cards_height));
     img.style.top  = 250 + x - 300;
     img.style.visibility  = "visible";
-    img.src = getcard(card_idx,4);
+    img.setAttribute('data-card-id', getcard(card_idx, 4));
 }
 
 var card_place_arr = new Array( card_place_so, card_place_ea, card_place_ne, card_place_nw, card_place_we );
@@ -819,7 +826,7 @@ function cards_take(win)
     }
 
     var img = $("card"+cards_pos[cards_n]);
-    var movimg = new slowimg(img, 
+    var movimg = new slowimg(img,
                             take_x[taker] - cards_width_d2,
                             take_y[taker] - cards_height_d2,
                             25, 0, "card_post_take("+cards_pos[cards_n]+");", null);
@@ -827,7 +834,7 @@ function cards_take(win)
     movimg.start(gst);
 
     var img = $("card_ea"+cards_ea_pos[cards_ea_n]);
-    var movimg = new slowimg(img, 
+    var movimg = new slowimg(img,
                             take_x[taker] - cards_height_d2,
                             take_y[taker] - cards_width_d2,
                             25, 0, "card_ea_post_take("+cards_ea_pos[cards_ea_n]+");", null);
@@ -843,7 +850,7 @@ function cards_take(win)
     movimg.start(gst);
     if (PLAYERS_N > 3) {
        var img = $("card_nw"+cards_nw_pos[cards_nw_n]);
-       var movimg = new slowimg(img, 
+       var movimg = new slowimg(img,
                                 take_x[taker] - cards_width_d2,
                                 take_y[taker] - cards_height_d2,
                                 25, 0, "card_nw_post_take("+cards_nw_pos[cards_nw_n]+");", null);
@@ -851,7 +858,7 @@ function cards_take(win)
        movimg.start(gst);
        
        var img = $("card_we"+cards_we_pos[cards_we_n]);
-       var movimg = new slowimg(img, 
+       var movimg = new slowimg(img,
                                 take_x[taker] - cards_height_d2,
                                 take_y[taker] - cards_width_d2,
                                 25, 1, "card_we_post_take("+cards_we_pos[cards_we_n]+");", null);