cj.res = {
	init : function(){
		var f = document.getElementById("findex");
		if (!f){
			alert("form id not set!");
			return false;
		}
		if(!f.lang){
			alert("form : lang not set");
			return false;
		}
		var lang = f.lang.value;
		//check-in/out date
		this.iy = document.getElementById("inYear");
		this.im = document.getElementById("inMonth");
		this.id = document.getElementById("inDay");
		this.oy = document.getElementById("outYear");
		this.om = document.getElementById("outMonth");
		this.od = document.getElementById("outDay");
		if (!this.iy){ alert("inYear does not exist"); return false;}
		if (!this.im){ alert("inMonth does not exist"); return false;}
		if (!this.id){ alert("inDay does not exist"); return false;}
		if (!this.oy){ alert("outYear does not exist"); return false; }
		if (!this.om){ alert("outMonth does not exist"); return false; }
		if (!this.od){ alert("outDay does not exist"); return false; }
		
		this.iy.onchange = function(){cj.res.inChg()};
		this.im.onchange = function(){cj.res.inChg()};
		this.id.onchange = function(){cj.res.inChg()};
		this.oy.onchange = function(){cj.res.outChg()};
		this.om.onchange = function(){cj.res.outChg()};
		this.od.onchange = function(){cj.res.outChg()};
		
		this.setDay();
			
		f.onsubmit = function(){
			if (cj.res.inDay < new Date() || cj.res.inDay >= cj.res.outDay){
				alert(cj.msg.valid[lang] + cj.msg.day[lang]);
				f.inDay.focus();
				return false;
			}
			return true;
		}
	},
	inChg : function(){
		this.setDay();
		if(this.inDay > this.outDay)
			this.outEqualIn();
	},
	outChg : function(){
		this.setDay();
		if(this.inDay > this.outDay)
			this.inEqualOut();
	},
	setDay : function(){
		this.inDay = new Date(this.iy.value + "/" + this.im.value + "/" + this.id.value);
		if (this.inDay.getDate() != this.id.value){
			this.id.value --;
			this.setDay();
		}
		this.outDay = new Date(this.oy.value + "/" + this.om.value + "/" + this.od.value);
		if (this.outDay.getDate() != this.od.value){
			this.od.value --;
			this.setDay();
		}
	},
	outEqualIn : function(){
		this.oy.selectedIndex = this.iy.selectedIndex;
		this.om.selectedIndex = this.im.selectedIndex;
		this.od.selectedIndex = this.id.selectedIndex;
	},
	inEqualOut : function(){
		this.iy.selectedIndex = this.oy.selectedIndex;
		this.im.selectedIndex = this.om.selectedIndex;
		this.id.selectedIndex = this.od.selectedIndex;
	}
}
cj.roller1 = {
	holdtime : 5000,
	rolltime : 25,
	ar : 0.99,
	gap : 9,
	init : function(boxid, itemcontainerid){
		var box = document.getElementById(boxid);
		if (!box){
			return;
		}
		var items = document.getElementById(itemcontainerid);
		if(!items)	return;
		box.items = items.getElementsByTagName('table');
		if(!box.items || box.items.length==0){
			return;
		}
		box.style.cssText = "position:relative; width:100%; height:70px; z-index:1; overflow:hidden";
		box.index = 0;
		box.timer = null;
		
		box.div1 = document.createElement("div");
		box.div1.style.cssText = "position:absolute; top:0px; left:0px";
		box.div1.style.zIndex = 0;
		box.div2 = box.div1.cloneNode(true);
		box.div3 = box.div1.cloneNode(true);
		box.appendChild(box.div1);
		box.appendChild(box.div2);
		box.appendChild(box.div3);
		
		this.roll(box);
	},
	roll : function(obj){
		while(obj.div1.childNodes[0])
			obj.div1.removeChild(obj.div1.childNodes[0]);
		obj.div1.appendChild(obj.items[obj.index].cloneNode(true));
		obj.div1.style.left = 0 + "px";
		
		if(obj.items.length <2){
			return;
		}
		while(obj.div2.childNodes[0])
			obj.div2.removeChild(obj.div2.childNodes[0]);
		obj.div2.appendChild(obj.items[(obj.index+1)%obj.items.length].cloneNode(true));
		obj.div2.style.left = obj.div1.offsetWidth + 10 + "px";
		
		if(obj.items.length>2){
			obj.index  = (obj.index == obj.items.length -1) ? 0 : obj.index +1;
			while(obj.div3.childNodes[0])
				obj.div3.removeChild(obj.div3.childNodes[0]);
			obj.div3.appendChild(obj.items[(obj.index+1)%obj.items.length].cloneNode(true));
			obj.div3.style.left = 2*obj.div1.offsetWidth + this.gap + 1 + "px";
			
			obj.timer = setTimeout(function(){cj.roller1.rollNext(obj, cj.roller1.ar)}, cj.roller1.holdtime);
		}
	},
	rollNext : function(obj, ar){
		var left = Math.floor(Math.max(0, obj.div2.offsetLeft* ar));
		obj.div1.style.left = left - obj.div1.offsetWidth - this.gap + "px";
		obj.div2.style.left = left + "px";
		obj.div3.style.left = left + obj.div1.offsetWidth + this.gap + "px";
		if(!left){
			this.roll(obj);
		}else{
			obj.timer = setTimeout(function(){cj.roller1.rollNext(obj, ar*cj.roller1.ar)}, this.rolltime);
		}
	}
}
cj.simpleMenuI = {
	timer : null,
	openObj : null,
	ar : 0.99,
	init: function(){
		var mm;
		var sm;
		for (var i=0; i<6; i++){
			mm = document.getElementById("cjNavMenui"+i);
			sm = document.getElementById("cjNavItem"+i);
			if (mm&&sm){
				var div = document.createElement("div");
				mm.div = div;
				div.mm = mm;
				div.style.cssText = "position:absolute; display: none; z-index: 1000";
				div.style.top = cj.util.getElementPos(mm).top + mm.offsetHeight + "px";
				div.style.left = cj.util.getElementPos(mm).left + "px";
				if(0){
				var left = 0;
				var obj = mm;
				while(obj != null){
					if(obj.style.position != "relative"){
						left += obj.offsetLeft;
					}
					obj = obj.offsetParent;
				}
				div.style.left = left + "px";
				}
				
				div.style.width = sm.offsetWidth + "px";
				div.appendChild(sm);
				sm.style.top = "0px";
				sm.style.left = "0px";
				document.body.appendChild(div);
				
				mm.onmouseover = function(){
					cj.simpleMenuI.show(this.div)
				};
				mm.onmouseout = function(ev){
					var ev = ev || window.event;
					var related = ev.relatedTarget || ev.toElement;
					var contains = false;
					while(related != null){
						if(related == this.div){
							contains = true;
							break;
						}
						related =  related.offsetParent;
					}
					if(!contains) cj.simpleMenuI.hide(this.div);
				}
				div.onmouseout = function(ev){
					var ev = ev || window.event;
					var related = ev.relatedTarget || ev.toElement;
					var contains = false;
					var objs = "";
					while(related != null){
						if(related == this){
							contains = true;
							break;
						}
						related =  related.offsetParent;
					}
					if(!contains) cj.simpleMenuI.hide(this);
				};
				
			}
		}
	},
	show : function(obj){
		if(this.openObj){
			this.openObj.style.display = "none";
		}
		clearTimeout(this.timer);
		this.openObj = obj;
		if(obj){
			obj.style.display = "block";
		}
	},
	hide : function(obj){
		if(obj) this.timer = setTimeout(function(){obj.style.display = "none"}, 600);
	}
}
cj.evt.add(window, "load", function(){
	cj.roller1.init('cjRoller1', 'cjRollerItems');
	cj.simpleMenuI.init();
	cj.util.loadJs("../js/lang.js");
	cj.res.init();
});