+function have_suit($cards,$c)
+{
+ global $TRUMP,$DIAMONDS,$HEARTS,$CLUBS,$SPADES;
+ $suit = array();
+
+ if(in_array($c,$TRUMP))
+ $suit = $TRUMP;
+ else if(in_array($c,$CLUBS))
+ $suit = $CLUBS;
+ else if(in_array($c,$SPADES))
+ $suit = $SPADES;
+ else if(in_array($c,$HEARTS))
+ $suit = $HEARTS;
+ else if(in_array($c,$DIAMONDS))
+ $suit = $DIAMONDS;
+
+ foreach($cards as $card)
+ {
+ if(in_array($card,$suit))
+ return 1;
+ }
+
+ return 0;
+}
+
+function same_type($card,$c)
+{
+ global $TRUMP,$DIAMONDS,$HEARTS,$CLUBS,$SPADES;
+ $suit = "";
+
+ /* figure out what kind of card c is */
+ if(in_array($c,$TRUMP))
+ $suit = $TRUMP;
+ else if(in_array($c,$CLUBS))
+ $suit = $CLUBS;
+ else if(in_array($c,$SPADES))
+ $suit = $SPADES;
+ else if(in_array($c,$HEARTS))
+ $suit = $HEARTS;
+ else if(in_array($c,$DIAMONDS))
+ $suit = $DIAMONDS;
+
+ /* card is the same suid return 1 */
+ if(in_array($card,$suit))
+ return 1;
+
+ return 0;
+}
+
+function set_gametype($gametype)
+{
+ global $TRUMP,$DIAMONDS,$HEARTS,$CLUBS,$SPADES;
+
+ switch($gametype)
+ {
+ case "normal":
+ case "trump":
+ case "silent":
+ $TRUMP = array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16',
+ '17','18','19','20','21','22','23','24','25','26');
+ $DIAMONDS = array();
+ $CLUBS = array('27','28','29','30','31','32','33','34');
+ $SPADES = array('35','36','37','38','39','40','41','42');
+ $HEARTS = array('43','44','45','46','47','48');
+ break;
+ case "queen":
+ $TRUMP = array('3','4','5','6','7','8','9','10');
+ $CLUBS = array('27','28','29','30','31','32','11','12','33','34');
+ $SPADES = array('35','36','37','38','39','40','13','14','41','42');
+ $HEARTS = array('43','44', '1', '2','45','46','15','16','47','48');
+ $DIAMONDS = array('19','20','21','22','23','24','17','18','25','26');
+ break;
+ case "jack":
+ $TRUMP = array('11','12','13','14','15','16','17','18');
+ $CLUBS = array('27','28','29','30','31','32','3', '4','33','34');
+ $SPADES = array('35','36','37','38','39','40','5', '6','41','42');
+ $HEARTS = array('43','44', '1', '2','45','46','7', '8','47','48');
+ $DIAMONDS = array('19','20','21','22','23','24','9','10','25','26');
+ break;
+ case "trumpless":
+ $TRUMP = array();
+ $CLUBS = array('27','28','29','30','31','32','3', '4','11','12','33','34');
+ $SPADES = array('35','36','37','38','39','40','5', '6','13','14','41','42');
+ $HEARTS = array('43','44', '1', '2','45','46','7', '8','15','16','47','48');
+ $DIAMONDS = array('19','20','21','22','23','24','9','10','17','18','25','26');
+ break;
+ case "club":
+ $TRUMP = array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16',
+ '17','18','27','28','29','30','31','32','33','34');
+ $CLUBS = array();
+ $SPADES = array('35','36','37','38','39','40','41','42');
+ $HEARTS = array('43','44','45','46','47','48');
+ $DIAMONDS = array('19','20','21','22','23','24','25','26');
+ break;
+ case "spade":
+ $TRUMP = array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16',
+ '17','18','35','36','37','38','39','40','41','42');
+ $CLUBS = array('27','28','29','30','31','32','33','34');
+ $SPADES = array();
+ $HEARTS = array('43','44','45','46','47','48');
+ $DIAMONDS = array('19','20','21','22','23','24','25','26');
+ break;
+ case "heart":
+ $TRUMP = array('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16',
+ '17','18','43','44','45','46','47','48');
+ $CLUBS = array('27','28','29','30','31','32','33','34');
+ $SPADES = array('35','36','37','38','39','40','41','42');
+ $HEARTS = array();
+ $DIAMONDS = array('19','20','21','22','23','24','25','26');
+ break;
+ }
+}
+
+function mysort($cards,$gametype)
+{
+ usort ( $cards, "sort_comp" );
+ return $cards;
+}
+
+function sort_comp($a,$b)
+{
+ global $TRUMP,$DIAMONDS,$HEARTS,$CLUBS,$SPADES;
+
+ $ALL = array();
+ $ALL = array_merge($TRUMP,$DIAMONDS,$CLUBS,$HEARTS,$SPADES,$DIAMONDS);
+
+ return pos_array($a,$ALL)-pos_array($b,$ALL);
+}
+