var Slider=function Slider(){
this.sliderObj=null;
this.displayTitleObj=null;
var me=this;

function submitSlider() {
    var lowerPrice = document.getElementById("slider1_0").value;
    var upperPrice = document.getElementById("slider1_1").value;
    var t = lowerPrice;
    var mm = t%60;
    var m;
    var h=(t-mm)/60;
    if(mm<25) m='00';
    if(mm>=25 && mm<=45 ) m='30';
    if(mm>45) m ='00';
    if(h<10) h ='0'+h;
    TimeFilter = h+''+m;
    t = upperPrice;
    mm = t%60;
    h=(t-mm)/60;
    if(mm<25) m='00';
    if(mm>=25 && mm<=45 ) m='30';
    if(mm>45) m ='00';
    if(h<10) h ='0'+h;
    TimeFilter = TimeFilter + '_' + h+''+m;
    TimeFilter2 = TimeFilter ;
    gCurrPage = 0;
}
function submitSlider2() {
    var lowerPrice = document.getElementById("slider2_0").value;
    var upperPrice = document.getElementById("slider2_1").value;
    var t = lowerPrice;
    var mm = t%60;
    var m;
    var h=(t-mm)/60;
    if(mm<25) m='00';
    if(mm>=25 && mm<=45 ) m='30';
    if(mm>45) m ='00';
    if(h<10) h ='0'+h;
    TimeFilter = h+''+m;
    t = upperPrice;
    mm = t%60;
    if(mm<25) m='00';
    if(mm>=25 && mm<=45 ) m='30';
    if(mm>45) m ='00';
    h=(t-mm)/60;
    if(h<10) h ='0'+h;
    TimeFilter = TimeFilter + '_' + h+''+m;
    TimeFilter2 = TimeFilter ;
    gCurrPage2 = 0;
}

function carpeGetElementById(element)
{
	if (document.getElementById) element = document.getElementById(element);
	else if (document.all) element = document.all[element];
	else element = null;
	return element;
}

function GetObjsPos(obj1, obj2)
{
	var left,width;
	
	left = 0;

	left = obj1==null?0:parseInt(obj1.style.left,10) + parseInt(obj1.style.width==""?0:obj1.style.width,10) ;
	
	width =obj2==null?0:parseInt(obj2.style.left,10)-left;
	
	if ( left-5>0) left = left-5;
	width = width + 5;
	
	return {left:left,width:width};
}

function carpeLeft(elmnt, pos)
{
	if (!(elmnt = carpeGetElementById(elmnt))) return 0;
	if (elmnt.style && (typeof(elmnt.style.left) == 'string')) {
		if (typeof(pos) == 'number') elmnt.style.left = pos + 'px';
		else {
			pos = parseInt(elmnt.style.left);
			if (isNaN(pos)) pos = 0;
		}
	}
	else if (elmnt.style && elmnt.style.pixelLeft) {
		if (typeof(pos) == 'number') elmnt.style.pixelLeft = pos;
		else pos = elmnt.style.pixelLeft;
	}
	return pos;
}
function carpeTop(elmnt, pos)
{
	if (!(elmnt = carpeGetElementById(elmnt))) return 0;
	if (elmnt.style && (typeof(elmnt.style.top) == 'string')) {
		if (typeof(pos) == 'number') elmnt.style.top = pos + 'px';
		else {
			pos = parseInt(elmnt.style.top);
			if (isNaN(pos)) pos = 0;
		}
	}
	else if (elmnt.style && elmnt.style.pixelTop) {
		if (typeof(pos) == 'number') elmnt.style.pixelTop = pos;
		else pos = elmnt.style.pixelTop;
	}
	return pos;
}
function moveSlider(evnt)
{
	var evnt = (!evnt) ? window.event : evnt; 
	if (mouseover) { 
		x = pxLeft + evnt.screenX - xCoord 
		y = pxTop + evnt.screenY - yCoord 
		if (x > xMax) x = xMax 
		if (x < xMin) x = xMin
		if (y > yMax) y = yMax 
		if (y < yMin) y = yMin 
		carpeLeft(me.sliderObj.id, x)  
		carpeTop(me.sliderObj.id, y) 
		sliderVal = x + y 
		sliderPos = (me.sliderObj.pxLen / me.sliderObj.valCount) * Math.round(me.sliderObj.valCount * sliderVal / me.sliderObj.pxLen)
		v = Math.round((sliderPos * me.sliderObj.scale + me.sliderObj.fromVal) * 
			Math.pow(10, displayObj.dec)) / Math.pow(10, displayObj.dec)
		displayObj.value = v ;
		if (me.displayTitleObj!=null){
	    	if ( (me.displayTitleObj.id.indexOf('SliderTitleA')>-1) ||
	    	    (me.displayTitleObj.id.indexOf('SliderTitleA_1')>-1))
            {
                globalslider = 1;
                var title=me.displayTitleObj.innerHTML.split(' - ');
                var changedIndex = displayObj.id.indexOf("_1")>=0?0:1;
                var t = displayObj.value;
                var mm = t%60;
                var m = '00';
//                if(mm<25) m='00';
//                if(mm>=25 && mm<=45 ) m='30';
//                if(mm>45) m ='00';
                var h = (t-mm)/60;
                if(h<10) h='0'+h;
                title[changedIndex]= h+':'+m;
                document.getElementById("slider1_"+changedIndex).value=displayObj.value;
                me.displayTitleObj.innerHTML=title.join(' - ');
            }
			if (( me.displayTitleObj.id.indexOf('SliderTitleB')>-1)
			    || ( me.displayTitleObj.id.indexOf('SliderTitleB_1')>-1)
			   )
			{
                globalslider = 2;
				var title=me.displayTitleObj.innerHTML.split(' - ');
				var changedIndex = displayObj.id.indexOf("_1")>=0?0:1;
                var t = displayObj.value;
                var mm = t%60;
                var h = (t-mm)/60;
                var m = '00';
//                if(mm<25) m='00';
//                if(mm>=25 && mm<=45 ) m='30';
//                if(mm>45) m ='00';
                if(h<10) h='0'+h;
                title[changedIndex]= h+':'+m;
                title[changedIndex]= h+':'+m;
                document.getElementById("slider2_"+changedIndex).value=displayObj.value;
				me.displayTitleObj.innerHTML=title.join(' - ');
			}
        }
		var SliderStyle = GetObjsPos(me.sliderObj.LeftObj,me.sliderObj.RightObj);	
		var filterObj = carpeGetElementById(me.sliderObj.filterId);
		
		filterObj.style.left = SliderStyle.left;
		filterObj.style.width = SliderStyle.width;
		
		mousemove=true;
		return true;
	}
	mousemove = false;
	return
}
var globalslider = 1;
function leftpadstring(sourcestring,padchar,length)
{
	var returnstring = sourcestring;
	for (var index=(""+sourcestring).length; index<length; index++ )
	{
		returnstring = padchar + returnstring;
	}
	return returnstring;
}

this.slide=function slide(evnt, orientation, length, from, to, count, decimals, display, filter,LeftObjId,RightObjId, TitleId)
{
	if (!evnt) evnt = window.event;
	me.sliderObj = (evnt.target) ? evnt.target : evnt.srcElement; 
	me.sliderObj.pxLen = length 
	me.sliderObj.valCount = count ? count - 1 : length 
	displayObj = carpeGetElementById(display) 
	displayObj.dec = decimals 
	me.sliderObj.scale = (to - from) / length 
	
	me.displayTitleObj=TitleId==null?null:carpeGetElementById(TitleId);
	
	me.sliderObj.filterId = filter;
	me.sliderObj.LeftObj = carpeGetElementById(LeftObjId); 
	me.sliderObj.RightObj = carpeGetElementById(RightObjId); 
	
	if ( true || orientation == 'horizontal') { 
		me.sliderObj.fromVal = from
		xMax = length
		yMax = 0
		xMin = yMin = 0;
		
		var SliderStyle = GetObjsPos(me.sliderObj.LeftObj,me.sliderObj.RightObj);
		
		if ( me.sliderObj.LeftObj!=null && me.sliderObj.LeftObj.id==me.sliderObj.id )
			xMax = SliderStyle.left + SliderStyle.width - parseInt(me.sliderObj.style.width);
		else
			xMin = SliderStyle.left;		
	}
	
	pxLeft = carpeLeft(me.sliderObj.id) 
	pxTop  = carpeTop(me.sliderObj.id) 
	xCoord = evnt.screenX 
	yCoord = evnt.screenY 
	mouseover = true
	mousemove = false;
	document.onmousemove = moveSlider 
	document.onmouseup = sliderMouseUp 
	
}

function sliderMouseUp()
{
	
	mouseover = false 
	if (!mousemove) return;

	v = (displayObj.value) ? displayObj.value : 0 // Find last display value.
	if ( me.sliderObj.scale==0 ) return;
	pos = (v - me.sliderObj.fromVal)/(me.sliderObj.scale) 
	if (yMax == 0) carpeLeft(me.sliderObj.id, pos) 
	if (xMax == 0) carpeTop(me.sliderObj.id, pos) 
	
	if (document.removeEventListener) { 		
		document.removeEventListener('mousemove', moveSlider, true)		
		document.removeEventListener('mouseup', sliderMouseUp, true)
	}
	else if (document.detachEvent) { 	
		document.detachEvent('onmousemove', moveSlider)
		document.detachEvent('onmouseup', sliderMouseUp)
	}

	var slidertype=displayObj.getAttribute("slidertype");

	// firsttrip secondtrip
	if (me.sliderObj.LeftObj==null || me.sliderObj.id==me.sliderObj.LeftObj.id)
		sliderPairs.slider1 = v;
	else
		sliderPairs.slider2= v;
	if ( sliderPairs.changed() )
	{
		
		sliderPairs.Sync();
	}
	
    if(globalslider ==1)
    submitSlider();

    if(globalslider ==2)
    submitSlider2();
}
var sliderPairs={slider1:0,slider2:1439,old1:0,old2:1439,sliderprice:20,sliderpriceold:40,
changed:function(){
	return !((sliderPairs.slider1==sliderPairs.old1&&sliderPairs.slider2==sliderPairs.old2)||(sliderPairs.slider2==sliderPairs.old1&&sliderPairs.slider1==sliderPairs.old2));
},
pricechanged:function(){
	return sliderPairs.sliderpriceOld!=sliderPairs.sliderpriceold;
},
Sync:function(){
	sliderPairs.old1=sliderPairs.slider1;
	sliderPairs.old2=sliderPairs.slider2;
	},
PriceSync:function(){
	sliderPairs.sliderpriceold=sliderPairs.sliderprice
	}
};
}
var sliderTimer=new Slider();
var sliderPrice=new Slider();
