<!--
   // Copyright (C) 2006, 2007 - SYNTAXXX - Alex. HANNEL
   // info@syntaxxx.at

	// syn_func_caller.js

   var syn_js_caller_init;
   var syn_js_caller_counter  = 0;
   var syn_js_caller_files    = new Object();

   function call_init()
   {
      if(typeof(syn_js_caller_init) == "undefined" || !syn_js_caller_init)
      {
         var tmp_div = document.getElementById("syn_caller_box");
         var tmp_div_ob = document.createElement("div");
         var tmp_id_ob = document.createAttribute("id");

			var ver = parseInt(navigator.appVersion, 10);

			if ((navigator.appName == "Microsoft Internet Explorer") && (ver >= 4))
			{
            var tmp_script = document.createElement("script");
            var tmp_src = document.createAttribute("src");
            var tmp_id = document.createAttribute("id");
            var tmp_type = document.createAttribute("type");

            tmp_src.nodeValue = "/js/syn_func_caller_spacer.js";
            tmp_script.setAttributeNode(tmp_src);

            tmp_id.nodeValue = "syn_caller_js";
            tmp_script.setAttributeNode(tmp_id);

            tmp_type.nodeValue = "text/javascript";
            tmp_script.setAttributeNode(tmp_type);

            tmp_div.appendChild(tmp_script);
         }

         tmp_id_ob.nodeValue = "syn_caller_ob";
         tmp_div_ob.setAttributeNode(tmp_id_ob);

         tmp_div.appendChild(tmp_div_ob);

         tmp_div_ob = document.getElementById("syn_caller_ob");
         tmp_div_ob.innerHTML = "empty";

         with(tmp_div_ob.style)
         {
            border = '1px solid #000000';
            width = '200px';
            height = '80px';
            top = '10px';
            right = '10px';
            position = 'absolute';
         }

         syn_js_caller_init = true;
      }

      return true;
   }

   /* function call(file, use_mode, protect) */
   function call(file, protect)
   {
      /*
      if(!call_init())
      {
         return false;
      }
      */

      /*
      if(typeof(use_mode) != "undefined")
      {
         var mode = "default";
      }
         else if(mode)
      {
         var mode = use_mode;
      }
         else
      {
         var mode = "default";
      }
      */
      
      if(typeof(protect) != "undefined")
      {
         var protect = true;
      }
         else if(protect)
      {
         var protect = true;
      }
         else
      {
         var protect = false;
      }

      if(typeof(syn_js_caller_files) == "object")
      {
         if(typeof(syn_js_caller_files[file]) == "undefined")
         {
            if(protect)
            {
               syn_js_caller_files[file] = 1;
            }
         }
            else
         {
            return false;
         }
      }

      var tmp_js;
      var arg;
      var found;
      
      syn_js_caller_counter++;

      if(typeof(document.getElementsByTagName("head")[0]) != "undefined")
      {
         tmp_js = document.createElement("script");

         if(typeof(syn_page_session) == "function")
         {
            arg    = /(\?)/g;
            found  = arg.test(file);

            if(found)
            {
               file += '&';
            }
               else
            {
               file += '?';
            }

            file += 'sid=' + syn_page_session();
         }
         
         tmp_js.src = file;
         // + "?" + Date.parse() + syn_js_caller_counter;
         
         tmp_js.type="text/javascript";

         document.getElementsByTagName("head")[0].appendChild(tmp_js);

         return true;
      }

      return false;
   }

   function syn_caller_handle(tmp_array)
   {
      var tmp_for;
      var tmp_data;

      if(typeof(tmp_array) == "undefined")
      {
         return false;
      }

      if(typeof(tmp_array) != "object")
      {
         return false;
      }
         else
      {
         if(typeof(tmp_array["for"]) == "undefined")
         {
            return false;
         }
            else
         {
            tmp_for = tmp_array["for"].replace(/ /, "");

            if(!tmp_for)
            {
               alert("for is empty");
               return false;
            }
         }

         if(typeof(tmp_array["data"]) == "undefined")
         {
            return false;
         }
            else
         {
            tmp_data = tmp_array["data"].replace(/ /, "");

            if(!tmp_data)
            {
               return false;
            }
         }

         try
         {
            if(eval(tmp_for + "(" + tmp_data + ")"))
            {
               throw true;
            }
               else
            {
               throw false;
            }
         }

         catch(response)
         {
            if(response)
            {
               return true;
            }
               else
            {
               // alert("couldn't call " + tmp_array["for"]);
               return false;
            }
         }
      }

      return false;
   }

   function syn_caller_mem(tmp_data)
   {
      if(typeof(tmp_data) == "undefined")
      {
         return false;
      }

      var tmp_data;
      var tmp_div_ob = document.getElementById("syn_caller_ob");

      tmp_div_ob.innerHTML = tmp_data + "|" + syn_js_caller_counter;

      return true;
   }
