//Copyrights © 2007 Bitel Ltd. All rights reserved.

$ = function() {
	var elements = new Array();
	for (var i = 0; i < arguments.length; i++) {
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		if (arguments.length == 1)
			return element;
		elements.push(element);
	}
	return elements;
}

newHTTP = function()
{
     var http = null;
     try {
          http = (window.XMLHttpRequest)? new XMLHttpRequest(): new ActiveXObject("MSXML2.XMLHTTP");
     } catch (msxml) {
          http = new ActiveXObject("Microsoft.XMLHTTP");
     }
     return http;
}

hash2query = function(content)
{
     var query = "";
     if (content instanceof Object) {
          for (var key in content) {
               var value = content[key];
               if (value == null || value instanceof Object || ((value.constructor||{}).prototype||{})[key]) continue;
               query += escape(key) + "=" + escape(value);
          }
     }
     else
          query = content;

     return query;
}

sendPost = function( url, post )
{
    var http = newHTTP();
    http.open( "POST", url, false, null, null );
    http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    post = hash2query(post);
    http.send(post);
    return http.responseXML;
}

submitForm = function(url, target)
{
     var form = null;

     if (typeof target == "string") {
          form = document.forms[target];
     } else {
          if (target.nodeName==null) alert("Can't find form for submit!");
          var targetName = target.nodeName.toLowerCase();
          if (targetName == "input")
          form = target.form;
          else
          form = target;
     }

     var post = "";

     for (var i=0; i < form.length; i++)
     {
         if (form.elements[i].type == "textarea" || form.elements[i].type == "text" || form.elements[i].type == "hidden" ||
               form.elements[i].type == "select-one" || (form.elements[i].type == "checkbox" && form.elements[i].checked))
          {
               post += "&" + form.elements[i].name + "=" + escape(form.elements[i].value);
         }
     }

     post += "&" + new Date().getTime()+"=";

     return sendPost(url, post);
}

price = function( url, form )
{
     var elements = document.getElementsByTagName( 'td' );     
     for( i = 0; i < elements.length; i++ ) 
     {
 	var el = elements[i];
	var id = el.id;
	
	if( id.indexOf( "_price" ) > 0 )
	{
	    el.innerHTML = "";
	}
     }
     
     var xml = submitForm( url, form );
     var nodes = xml.documentElement.childNodes;
     var sum = 0;

     for(var i = 0; i<nodes.length; i++)
     {
         if (nodes[i].nodeType == 1
            && nodes[i].nodeName == "module") 
	 {
            var el = nodes[i];
            var pr = $(el.getAttribute("name") + "_price");

            var price = el.getAttribute("sum");
            sum += price*1;

            if (pr!=null)
	    {
               pr.innerHTML = (price*1).toFixed(2)+"";
	    }

            pr = $(el.getAttribute("name") + "_count");
            if (pr!=null)
	    {
               pr.value = el.getAttribute("count");
	    }
         }
     }
     $("itogo").innerHTML = (sum*1).toFixed(2)+"";
}

window._counts = new Object();

unlim = function( check, mod )
{
    var c = $(mod + "_count");
    if (c)
    {
       if (check.checked)
       {
       _counts[mod] = c.value;
       c.value = "unlimited";
       c.readOnly=true;
       }
       else
       {
       var count = _counts[mod];
       c.value = (count!=null&&count!=undefined)?count:"";
       c.readOnly=false;
       }
    }
}
