FormModalObj = new DHTML_modalMessage();	// We only create one object of this class
FormModalObj.setShadowOffset(5);	// Large shadow

function FormModalObjDisplay(messageContent,cssClass)
{
	FormModalObj.setHtmlContent(messageContent);
	FormModalObj.setSize(FormModalObj.width,FormModalObj.height+23);
	FormModalObj.setCssClassMessageBox(cssClass);
	FormModalObj.setSource(false);	// no html source since we want to use a static message here.
	FormModalObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
	FormModalObj.display();
}
function callFormModal(messageContent,width, height){
	FormModalObj.width = width;
	FormModalObj.height = height;
	FormModalObjDisplay(messageContent,false);
}

ErrorObj = new DHTML_modalMessage();	// We only create one object of this class
ErrorObj.setShadowOffset(5);	// Large shadow

function displayStaticMessage(messageContent,cssClass){
	ErrorObj.setHtmlContent(messageContent);
	ErrorObj.setSize(300,205);
	ErrorObj.setCssClassMessageBox(cssClass);
	ErrorObj.setSource(false);	// no html source since we want to use a static message here.
	ErrorObj.setShadowDivVisible(false);	// Disable shadow for these boxes	
	ErrorObj.display();
}
function closeMessage(){
	ErrorObj.close();	
}

var SmartyAjax = {
  update: function(update_id, url, method, params, callback) {
  	//alert("here");
    var myAjax = new Ajax.Updater(
      update_id,
      url,
      {
        method: method,
        parameters: params,
        onComplete: callback
      });
  },
  call: function(url, method, params, callback, params_func) {
    if (params_func) {
      if (params.length != 0) params += "&";
      params += $H(params_func()).toQueryString();
    }
    var myAjax = new Ajax.Request(
      url,
      {
        method: method,
        parameters: params,
        onComplete: callback
      });
  },

  submit: function(form, params, callback) {
  	//alert(callback);
  	var myAjax = new Ajax.Request(
  		form.action,
  		{
  			method: form.method,
  			parameters: Form.serialize(form.id),
        	onComplete: callback || this.onSubmit
  		});
  },
  OnClickSubmit: function(formId,formMethod,formAction, callback) {
  	
  	var myAjax = new Ajax.Request(
  		formAction,
  		{
  			method: formMethod,
  			parameters: Form.serialize(formId),
        	onComplete: callback || this.onSubmit
  		});
  },	
  onSubmit: function(originalRequest) {
    var results = originalRequest.responseText.split("#");
	//alert(results);
    if (results[0] == "true") {
    	//alert(results[2]);
 		
    	location.href=results[2];
    	return false;
      SmartyAjax.Messages.set(results[1], SmartyAjax.Messages.MT_WARNING)
    } else {
      SmartyAjax.Messages.clear();
      SmartyAjax.Messages.setType(SmartyAjax.Messages.MT_ERROR);
      var msq = "";
      /*for (var i = 1; i < results.length; i++) {
        msq += results[i];
      }*/
      msq = results[1];
      SmartyAjax.Messages.add_(msq, results[3],results[4]-10,results[5]);
      
    }
  },
  update_page: function(update_id, url, method, params, callback) {
    var myAjax = new Ajax.Updater(
      update_id,
      url,
      {
        method: method,
        parameters: params,
        onComplete: callback || this.update_page_onSubmit
      });
  },
  update_page_onSubmit: function(originalRequest) {
    var results = originalRequest.responseText.split(";");
	//alert(results);
    if (results[0] == "true") {
     	//alert(results[1]);
	$("aname_basket").innerHTML = "Ваша корзина";
     	$("fm_basket_content").style.cssText="background-color:00adef;padding:10;color:#FFFFFF;width:100%;font-weight: bold;";
    	$("fm_basket_content").innerHTML = results[1];
    	//location.href=results[2];
    	return false;
      	//SmartyAjax.Messages.set(results[1], SmartyAjax.Messages.MT_WARNING)
    } else {
      SmartyAjax.Messages.clear();
      SmartyAjax.Messages.setType(SmartyAjax.Messages.MT_ERROR);
      var msq = "";
      for (var i = 1; i < results.length; i++) {
        msq += results[i];
      }
      SmartyAjax.Messages.add(msq);
    }
  }
   
}

SmartyAjax.GlobalHandlers = {
	onCreate: function() {
		//alert("aaa");
		SmartyAjax.Process.show();
	},

	onComplete: function() {
		//alert("h");
		if(Ajax.activeRequestCount == 0){
			//alert("h2");
			SmartyAjax.Process.hide();
		}
	}
};

//Ajax.Responders.register(SmartyAjax.GlobalHandlers);

SmartyAjax.Messages = {
  MT_WARNING: 0,
  MT_ERROR: 1,

  S_MT_WARNING: "Please note:",
  S_MT_ERROR: "Please fix following errors:",
  
  initialize: function() {
    this.messages = $("messages");
    this.messagesTitle = $("messages-title");
  },

  clear: function() {
    if (!this.messagesList) {
      this.messagesList = $("messages-list");
    	if (!this.messagesList) return;
    }
  	this.messagesList.innerHTML = "";
  	this.messagesList.style.display = "none";
  },

  
  add: function(message) {
  	
    if (!this.messagesList) {
      this.messagesList = $("messages-list");
    	if (!this.messagesList) return;
    }
    
    //alert(document.getElementById('messages-list').value);
    //document.getElementById('messages-list').innerHTML = message;
    this.messagesList.innerHTML = message;
  	//var messageLI = document.createElement("span");
  	//messageLI.innerHTML = message;
  	//this.messagesList.appendChild(messageLI);
  	this.messagesList.style.display = "block";
  	SmartyAjax.Process.hide();
  	Element.scrollTo("messages");
  },
   add_: function(message, width, height, error) {
  	SmartyAjax.Process.hide();
  	callFormModal(message, width, height);
  	/*
  	if(error)
  		displayStaticMessage('<b>Ошибка!</b><p>'+error+'</p><p><input class=\'fke3\' type=\'button\' value=\'закрыть\' onclick=\'closeMessage();return false;\'>','modalDialog_contentDiv_error');
  	*/
  },
  set: function(message, type) {
    this.clear();
    this.setType(type);
    this.add(message);
  },

  setType: function(type) {
    if (!this.messages) this.messages = $("messages");
  	if (!this.messagesTitle) this.messagesTitle = $("messages-title");
  	switch (type) {
  	  case this.MT_ERROR:
  	    if (this.messages) this.messages.className = "data-error";
  	    if (this.messagesTitle) this.messagesTitle = this.S_MT_ERROR;
  	    break;
  	  case this.MT_WARNING:
  	  default:
  	    if (this.messages) this.messages.className = "data-warning";
  	    if (this.messagesTitle) this.messagesTitle = this.S_MT_WARNING;
  	}
  }
}

SmartyAjax.Process = {
  S_PROCESS: "<img src='/libs/smarty_ajax/images/load.gif'> подождите, пока идет обработка запроса...",

  show: function() {
  	messageContent = "<img align='left' src='/libs/smarty_ajax/images/load.gif'> подождите, пока идет обработка запроса...";
    callFormModal(messageContent,200, 10);
  	/*if (!this.process) {
      this.process = $("ajax-process");
      if (!this.process) return;
    }
    var top = window.pageYOffset ? window.pageYOffset : document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop;
    this.process.style.top = top + "px";
    this.process.innerHTML = this.S_PROCESS;
    this.process.style.display = "inline";*/
  },

  hide: function() {
  	//FormModalObj.close();
  	
    /*if (!this.process) {
      this.process = $("ajax-process");
      if (!this.process) return;
    }
    this.process.style.display = "none";
    */
  }
}
/*function addToBasket(path,articul,e)
{
	SmartyAjax.update_page('fm_basket_content', path, 'post', 'articul='+articul+'&page=update&f=update_fm_basket'); 
	showToolTipBasket(e,'Товар добавлен в корзину');
	var t=setTimeout("hideToolTipBasket()",1500)
	return false;
}*/
function showToolTipBasket(e,text){
	
	if(document.all)e = event;
	
	var obj = document.getElementById('bubble_tooltip');
	var obj2 = document.getElementById('bubble_tooltip_content');
	obj2.innerHTML = text;
	obj.style.display = 'block';
	var st = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	if(navigator.userAgent.toLowerCase().indexOf('safari')>=0)st=0; 
	var leftPos = e.clientX - 100;
	if(leftPos<0)leftPos = 0;
	obj.style.left = leftPos + 'px';
	obj.style.top = e.clientY - obj.offsetHeight -1 + st + 'px';
}	

function hideToolTipBasket()
{
	document.getElementById('bubble_tooltip').style.display = 'none';
	
}
function timedMsg()
{
	var t=setTimeout("alert('5 seconds!')",5000)
}
function header(path)
{
	location.href=path;
	return false;
}