var doajax = true;
function slider (a_init, a_tpl) {

   this.f_setValue  = f_sliderSetValue;
   this.f_getPos    = f_sliderGetPos;

   // register in the global collection
   if (!window.A_SLIDERS)
       window.A_SLIDERS = [];
   this.n_id = window.A_SLIDERS.length;
   window.A_SLIDERS[this.n_id] = this;
   // save config parameters in the slider object
   var s_key;
   if (a_tpl)
       for (s_key in a_tpl)
           this[s_key] = a_tpl[s_key];
   for (s_key in a_init)
       this[s_key] = a_init[s_key];

   this.n_pix2value = this.n_pathLength / (this.n_maxValue - this.n_minValue);
   if (this.n_value == null)
       this.n_value = this.n_minValue;

   this.e_base   = get_element('sl' + this.n_id + 'base');
   this.e_slider = get_element('sl' + this.n_id + 'slider');
   
   // safely hook document/window events
   if (document.onmousemove != f_sliderMouseMove) {
       window.f_savedMouseMove = document.onmousemove;
       document.onmousemove = f_sliderMouseMove;
   }
   if (document.onmouseup != f_sliderMouseUp) {
       window.f_savedMouseUp = document.onmouseup;
       document.onmouseup = f_sliderMouseUp;
   }
   // preset to the value in the input box if available
   var e_input = this.s_form == null
       ? get_element(this.s_name)
       : document.forms[this.s_form]
           ? document.forms[this.s_form].elements[this.s_name]
           : null;
   this.f_setValue(e_input && e_input.value != '' ? e_input.value : null, 1);
   this.e_slider.style.visibility = 'visible';
}

function f_sliderSetValue (n_value, b_noInputCheck) {

  
  if (n_value == null)
       n_value = this.n_value == null ? this.n_minValue : this.n_value;
   if (isNaN(n_value))
       return false;
   // round to closest multiple if step is specified
      
   if (this.n_step)
       n_value = Math.round((n_value - this.n_minValue) / this.n_step) * this.n_step + this.n_minValue;
   // smooth out the result
   if (n_value % 1)
       n_value = Math.round(n_value * 1e5) / 1e5;

   if (n_value < this.n_minValue)
       n_value = this.n_minValue;
   if (n_value > this.n_maxValue)
       n_value = this.n_maxValue;

   this.n_value = n_value;

   // move the slider
   if (this.b_vertical)
       this.e_slider.style.top  = (this.n_pathTop + this.n_pathLength - Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';
   else
       this.e_slider.style.left = (this.n_pathLeft + Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';

   if(document.getElementById('seldiv')){
       if(document.getElementById('sl0slider')==this.e_slider){
         var sleft=((this.n_pathLeft + Math.round((n_value - this.n_minValue) * this.n_pix2value))+10);
         if(sl1){ 
         var prvalw1=sl1.e_slider.style.left;
          prvalw1=prvalw1.substr(0,prvalw1.length-2);}else
          {
            var prvalw1=195;
          } 
          document.getElementById('seldiv').style.left=sleft + 'px';
          var widthp = (prvalw1-sleft)<0 ? 0 : prvalw1-sleft;
          document.getElementById('seldiv').style.width=widthp + 'px';
          //alert(sleft+' '+(prvalw1-sleft));
        }
        if(document.getElementById('sl1slider')==this.e_slider){
          var prvalw=document.getElementById('seldiv').style.left;
          prvalw=prvalw.substr(0,prvalw.length-2); 
          //alert(this.e_slider.style.left);
          var widthp1 = ((this.n_pathLeft + Math.round((n_value - this.n_minValue) * this.n_pix2value))-prvalw)<0 ? 0 : ((this.n_pathLeft + Math.round((n_value - this.n_minValue) * this.n_pix2value))-prvalw);
          document.getElementById('seldiv').style.width=widthp1 + 'px';
          }
   }    
       
       
       // save new value.
   var e_input;
   if (this.s_form == null) {
       e_input = get_element(this.s_name);
       if (!e_input)
           return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with ID='" + this.s_name + "'.");
   }
   else {
       var e_form = document.forms[this.s_form];
       if (!e_form)
           return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the form with NAME='" + this.s_form + "'.");
       e_input = e_form.elements[this.s_name];
       if (!e_input)
           return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with NAME='" + this.s_name + "'.");
   }
   e_input.value = n_value;
}

// get absolute position of the element in the document
function f_sliderGetPos (b_vertical, b_base) {
   var n_pos = 0,
       s_coord = (b_vertical ? 'Top' : 'Left');
   var o_elem = o_elem2 = b_base ? this.e_base : this.e_slider;

   while (o_elem) {
       n_pos += o_elem["offset" + s_coord];
       o_elem = o_elem.offsetParent;
   }
   o_elem = o_elem2;

   var n_offset;
   while (o_elem.tagName != "BODY") {
       n_offset = o_elem["scroll" + s_coord];
       if (n_offset)
           n_pos -= o_elem["scroll" + s_coord];
       o_elem = o_elem.parentNode;
   }
   return n_pos;
}

function f_sliderMouseDown (n_id,doa) {
   if(doa){
   	doajax = false;
   }
   window.n_activeSliderId = n_id;
   return false;
}

function f_sliderMouseUp (e_event, b_watching) {
   if (window.n_activeSliderId != null) {
    
       var o_slider = window.A_SLIDERS[window.n_activeSliderId];
        //alert(o_slider.e_slider.style.left+' '+o_slider.n_pathLeft);
       o_slider.f_setValue(o_slider.n_minValue + (o_slider.b_vertical
           ? (o_slider.n_pathLength - parseInt(o_slider.e_slider.style.top) + o_slider.n_pathTop)
           : (parseInt(o_slider.e_slider.style.left) - o_slider.n_pathLeft)) / o_slider.n_pix2value);
       if (b_watching) return;
       num=window.n_activeSliderId;
       window.n_activeSliderId = null;

     	if(document.getElementById('price_yes')){
      	document.getElementById('price_yes').checked="checked";
      }
      
      if(doajax){
       make_price(document.getElementById('sliderValue'+num).value,num);
       }else{
       	if(document.getElementById('sliderValue'+num)){
        formatPrice(num);
        }
       }

   }
   if (window.f_savedMouseUp)
       return window.f_savedMouseUp(e_event);
}

function f_sliderMouseMove (e_event) {

   if (!e_event && window.event) e_event = window.event;

   // save mouse coordinates
   if (e_event) {
       window.n_mouseX = e_event.clientX + f_scrollLeft();
       window.n_mouseY = e_event.clientY + f_scrollTop();
   }

   // check if in drag mode
   if (window.n_activeSliderId != null) {
       var o_slider = window.A_SLIDERS[window.n_activeSliderId];

       var n_pxOffset;
       if (o_slider.b_vertical) {
           var n_sliderTop = window.n_mouseY - o_slider.n_sliderHeight / 2 - o_slider.f_getPos(1, 1) - 3;
           // limit the slider movement
           if (n_sliderTop < o_slider.n_pathTop)
               n_sliderTop = o_slider.n_pathTop;
           var n_pxMax = o_slider.n_pathTop + o_slider.n_pathLength;
           if (n_sliderTop > n_pxMax)
               n_sliderTop = n_pxMax;
           o_slider.e_slider.style.top = n_sliderTop + 'px';
           n_pxOffset = o_slider.n_pathLength - n_sliderTop + o_slider.n_pathTop;
       }
       else {
           var n_sliderLeft = window.n_mouseX - o_slider.n_sliderWidth / 2 - o_slider.f_getPos(0, 1) - 3;
           // limit the slider movement
           if (n_sliderLeft < o_slider.n_pathLeft)
               n_sliderLeft = o_slider.n_pathLeft;
           var n_pxMax = o_slider.n_pathLeft + o_slider.n_pathLength;
           if (n_sliderLeft > n_pxMax)
               n_sliderLeft = n_pxMax;
           o_slider.e_slider.style.left = n_sliderLeft + 'px';
           n_pxOffset = n_sliderLeft - o_slider.n_pathLeft;
       }
       if (o_slider.b_watch)
            f_sliderMouseUp(e_event, 1);

       return false;
   }

   if (window.f_savedMouseMove)
       return window.f_savedMouseMove(e_event);
}

// get the scroller positions of the page
function f_scrollLeft() {
   return f_filterResults (
       window.pageXOffset ? window.pageXOffset : 0,
       document.documentElement ? document.documentElement.scrollLeft : 0,
       document.body ? document.body.scrollLeft : 0
   );
}
function f_scrollTop() {
   return f_filterResults (
       window.pageYOffset ? window.pageYOffset : 0,
       document.documentElement ? document.documentElement.scrollTop : 0,
       document.body ? document.body.scrollTop : 0
   );
}
function f_filterResults(n_win, n_docel, n_body) {
   var n_result = n_win ? n_win : 0;
   if (n_docel && (!n_result || (n_result > n_docel)))
       n_result = n_docel;
   return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function f_sliderError (n_id, s_message) {
   alert("Slider #" + n_id + " Error:\n" + s_message);
   window.n_activeSliderId = null;
}

get_element = document.all ?
   function (s_id) { return document.all[s_id] } :
   function (s_id) { return document.getElementById(s_id) };

var prval;
var pr;
   


function formatPrice(num)
{
	
 
  var element=document.getElementById('sliderValue'+num);
	var price=element.value;
	price.toString;
  var spaceRe = / +/g;
  price=price.replace(spaceRe,"");
	var len=price.length;
	var lenr=Math.ceil(price.length/3);
	var n_pr='';
	var start=0;
	var end=0;
	for(var i=1;i<=lenr;i++){
		start = len-i*3<0 ? 0 : len-i*3;
		end = len-i*3<0 ? 3+len-i*3 : 3;
		n_pr=price.substr(start,end)+' '+n_pr;
	}
	n_pr=n_pr.replace(/\s+$/,"");
	
	switch(num){
    case 0: prval=sl0.e_slider.style.left;
            prval=prval.substr(0,prval.length-2); 
            pr=sl0.n_value;
            sl1.n_pathLeft=parseInt(prval)+9; 
            sl1.n_pathLength=195-prval;
            sl1.n_minValue=pr;
            break;
    case 1: prval=sl1.e_slider.style.left;
            prval=prval.substr(0,prval.length-2); 
            pr=sl1.n_value;
            sl0['n_pathLength']=prval-10;
            sl0['n_maxValue']=pr;
            break;
  }
	
	
	element.value=n_pr;
	
}











function checkKey(evt,id)
{
	var key;
	//pref = '';
	var el=document.getElementById(id);
	var cur_pos=getCaretPosition(el);
	var prev_val=el.value;
	var chk0=0

	if(brows=='Firefox'||brows=='Netscape'||brows=='Mozilla')
	{
		key=evt.charCode;
		if(key==0)
		{
			key=evt.keyCode;
		}
	}
	else
	{
		key=evt.keyCode;
	}

	if((key<48&&key!=46&&key!=8&&key!=37&&key!=39)||key>57||(key==48&&prev_val==''&&!chk0)||(cur_pos==0&&key==48&&!chk0))
	{
		return false;
	}
  
	//setPrice(val,num);
	return true;
}

function getCaretPosition(el)
{
	if (document.selection)
	{
		// IE
		var range = document.selection.createRange();
		range.moveStart('textedit', -1);
		return range.text.length;
	}
	else if (el.selectionStart)
	{
		// Gecko
		return el.selectionStart;
	}
	return el.value.length-1;
}

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
var brows=BrowserDetect.browser;var doajax = true;
function slider (a_init, a_tpl) {

   this.f_setValue  = f_sliderSetValue;
   this.f_getPos    = f_sliderGetPos;

   // register in the global collection
   if (!window.A_SLIDERS)
       window.A_SLIDERS = [];
   this.n_id = window.A_SLIDERS.length;
   window.A_SLIDERS[this.n_id] = this;

   // save config parameters in the slider object
   var s_key;
   if (a_tpl)
       for (s_key in a_tpl)
           this[s_key] = a_tpl[s_key];
   for (s_key in a_init)
       this[s_key] = a_init[s_key];

   this.n_pix2value = this.n_pathLength / (this.n_maxValue - this.n_minValue);
   if (this.n_value == null)
       this.n_value = this.n_minValue;

   this.e_base   = get_element('sl' + this.n_id + 'base');
   this.e_slider = get_element('sl' + this.n_id + 'slider');

   // safely hook document/window events
   if (document.onmousemove != f_sliderMouseMove) {
       window.f_savedMouseMove = document.onmousemove;
       document.onmousemove = f_sliderMouseMove;
   }
   if (document.onmouseup != f_sliderMouseUp) {
       window.f_savedMouseUp = document.onmouseup;
       document.onmouseup = f_sliderMouseUp;
   }
   // preset to the value in the input box if available
   var e_input = this.s_form == null
       ? get_element(this.s_name)
       : document.forms[this.s_form]
           ? document.forms[this.s_form].elements[this.s_name]
           : null;
   this.f_setValue(e_input && e_input.value != '' ? e_input.value : null, 1);
   this.e_slider.style.visibility = 'visible';
}

function f_sliderSetValue (n_value, b_noInputCheck) {

   if (n_value == null)
       n_value = this.n_value == null ? this.n_minValue : this.n_value;
   if (isNaN(n_value))
       return false;
   // round to closest multiple if step is specified
      //alert(n_value);
   if (this.n_step)
       n_value = Math.round((n_value - this.n_minValue) / this.n_step) * this.n_step + this.n_minValue;
   // smooth out the result
   if (n_value % 1)
       n_value = Math.round(n_value * 1e5) / 1e5;

   if (n_value < this.n_minValue)
       n_value = this.n_minValue;
   if (n_value > this.n_maxValue)
       n_value = this.n_maxValue;

   this.n_value = n_value;

   // move the slider
   if (this.b_vertical)
       this.e_slider.style.top  = (this.n_pathTop + this.n_pathLength - Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';
   else
       this.e_slider.style.left = (this.n_pathLeft + Math.round((n_value - this.n_minValue) * this.n_pix2value)) + 'px';

   // save new value.
   var e_input;
   if (this.s_form == null) {
       e_input = get_element(this.s_name);
       if (!e_input)
           return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with ID='" + this.s_name + "'.");
   }
   else {
       var e_form = document.forms[this.s_form];
       if (!e_form)
           return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the form with NAME='" + this.s_form + "'.");
       e_input = e_form.elements[this.s_name];
       if (!e_input)
           return b_noInputCheck ? null : f_sliderError(this.n_id, "Can not find the input with NAME='" + this.s_name + "'.");
   }
   e_input.value = n_value;
}

// get absolute position of the element in the document
function f_sliderGetPos (b_vertical, b_base) {
   var n_pos = 0,
       s_coord = (b_vertical ? 'Top' : 'Left');
   var o_elem = o_elem2 = b_base ? this.e_base : this.e_slider;

   while (o_elem) {
       n_pos += o_elem["offset" + s_coord];
       o_elem = o_elem.offsetParent;
   }
   o_elem = o_elem2;

   var n_offset;
   while (o_elem.tagName != "BODY") {
       n_offset = o_elem["scroll" + s_coord];
       if (n_offset)
           n_pos -= o_elem["scroll" + s_coord];
       o_elem = o_elem.parentNode;
   }
   return n_pos;
}

function f_sliderMouseDown (n_id,doa) {
   if(doa){
   	doajax = false;
   }
   window.n_activeSliderId = n_id;
   return false;
}

function f_sliderMouseUp (e_event, b_watching) {
   if (window.n_activeSliderId != null) {
       var o_slider = window.A_SLIDERS[window.n_activeSliderId];
       o_slider.f_setValue(o_slider.n_minValue + (o_slider.b_vertical
           ? (o_slider.n_pathLength - parseInt(o_slider.e_slider.style.top) + o_slider.n_pathTop)
           : (parseInt(o_slider.e_slider.style.left) - o_slider.n_pathLeft)) / o_slider.n_pix2value);
       if (b_watching) return;
       window.n_activeSliderId = null;

     	if(document.getElementById('price_yes')){
      	document.getElementById('price_yes').checked="checked";
      }
       if(doajax){
       make_price();
       }else{
       	if(document.getElementById('sliderValue')){
        formatPrice();
        }
       }

   }
   if (window.f_savedMouseUp)
       return window.f_savedMouseUp(e_event);
}

function f_sliderMouseMove (e_event) {

   if (!e_event && window.event) e_event = window.event;

   // save mouse coordinates
   if (e_event) {
       window.n_mouseX = e_event.clientX + f_scrollLeft();
       window.n_mouseY = e_event.clientY + f_scrollTop();
   }

   // check if in drag mode
   if (window.n_activeSliderId != null) {
       var o_slider = window.A_SLIDERS[window.n_activeSliderId];

       var n_pxOffset;
       if (o_slider.b_vertical) {
           var n_sliderTop = window.n_mouseY - o_slider.n_sliderHeight / 2 - o_slider.f_getPos(1, 1) - 3;
           // limit the slider movement
           if (n_sliderTop < o_slider.n_pathTop)
               n_sliderTop = o_slider.n_pathTop;
           var n_pxMax = o_slider.n_pathTop + o_slider.n_pathLength;
           if (n_sliderTop > n_pxMax)
               n_sliderTop = n_pxMax;
           o_slider.e_slider.style.top = n_sliderTop + 'px';
           n_pxOffset = o_slider.n_pathLength - n_sliderTop + o_slider.n_pathTop;
       }
       else {
           var n_sliderLeft = window.n_mouseX - o_slider.n_sliderWidth / 2 - o_slider.f_getPos(0, 1) - 3;
           // limit the slider movement
           if (n_sliderLeft < o_slider.n_pathLeft)
               n_sliderLeft = o_slider.n_pathLeft;
           var n_pxMax = o_slider.n_pathLeft + o_slider.n_pathLength;
           if (n_sliderLeft > n_pxMax)
               n_sliderLeft = n_pxMax;
           o_slider.e_slider.style.left = n_sliderLeft + 'px';
           n_pxOffset = n_sliderLeft - o_slider.n_pathLeft;
       }
       if (o_slider.b_watch)
            f_sliderMouseUp(e_event, 1);

       return false;
   }

   if (window.f_savedMouseMove)
       return window.f_savedMouseMove(e_event);
}

// get the scroller positions of the page
function f_scrollLeft() {
   return f_filterResults (
       window.pageXOffset ? window.pageXOffset : 0,
       document.documentElement ? document.documentElement.scrollLeft : 0,
       document.body ? document.body.scrollLeft : 0
   );
}
function f_scrollTop() {
   return f_filterResults (
       window.pageYOffset ? window.pageYOffset : 0,
       document.documentElement ? document.documentElement.scrollTop : 0,
       document.body ? document.body.scrollTop : 0
   );
}
function f_filterResults(n_win, n_docel, n_body) {
   var n_result = n_win ? n_win : 0;
   if (n_docel && (!n_result || (n_result > n_docel)))
       n_result = n_docel;
   return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function f_sliderError (n_id, s_message) {
   alert("Slider #" + n_id + " Error:\n" + s_message);
   window.n_activeSliderId = null;
}

get_element = document.all ?
   function (s_id) { return document.all[s_id] } :
   function (s_id) { return document.getElementById(s_id) };

function formatPrice()
{
	var element=document.getElementById('sliderValue');
	var price=element.value;
	price.toString;
  var spaceRe = / +/g;
  price=price.replace(spaceRe,"");
	var len=price.length;
	var lenr=Math.ceil(price.length/3);
	var n_pr='';
	var start=0;
	var end=0;
	for(var i=1;i<=lenr;i++){
		start = len-i*3<0 ? 0 : len-i*3;
		end = len-i*3<0 ? 3+len-i*3 : 3;
		n_pr=price.substr(start,end)+' '+n_pr;
	}
	n_pr=n_pr.replace(/\s+$/,"");
	element.value=n_pr;
}

