var common = function() {
	var urllink = location.toString();
	var caseType = urllink.substring(urllink.lastIndexOf('\/') + 1, urllink.lastIndexOf('.'));
	if(urllink.lastIndexOf('\/') == urllink.length -1) caseType = '';
	var obj = Ext.urlDecode(urllink.substring(urllink.lastIndexOf('?') + 1, urllink.length));
//	var word = [' is empty!!', '\'s format is wrong!!', 'This products is add in your inquiry.', 'Are you sure to delete this products in your inquiry?', 'Product is delete.'];
	var tf = ['search', 'Name', 'EMail', 'Location', 'Contents'];
	var winBox = null; var task = null;

	function getTemplate(xtpl){
		var word = (Ext.getDom(xtpl)) ? Ext.getDom(xtpl).innerHTML : xtpl;
		word = word.replace(/\%7B/g, '{').replace(/\%7D/g, '}');
		return word.replace(/TPL/g, 'tpl').replace(/ > /g, ' &gt; ').replace(/ < /g, ' &lt; ');
	}

	return {
		remober: null,
		checking: false,
		indexPoint: 0, 
		backup: [],
		indexAdv: -1,
		inxScroll: 0,
		isMove: false,
//		dlID: 0,

		init: function() {
			for (x in tf) {
				if (!Ext.get(tf[x])) continue;
				var f = new Ext.form.TextField({ emptyText: Ext.getDom(tf[x]).value,
					emptyClass: '', fieldClass: '', applyTo: tf[x], id: 'ext_'+Ext.getDom(tf[x]).id
				});
				f.getEl().removeClass('x-form-text').removeClass('x-form-empty-field');
			}
			if(Ext.get('indexAdv')){
				var cb = function(rspn, option){
					var data = Ext.util.JSON.decode(rspn.responseText);
					for(var i=0;i<data.length;i++){
						img = new Image();
						img.src = 'Uploads'+data[i].imgOrig;
					}
					this.showIndexAdv(data, 0, 'indexAdv');
				}
				var cn = new Ext.data.Connection({url:"getdata.php?Type=getIndexAdv"}).request({
					scope: this, method: "POST", success: cb
				});
			}
			if(Ext.get('advertisement')){
				var cb = function(rspn, option){
					var data = Ext.util.JSON.decode(rspn.responseText);
					for(var i=0;i<data.length;i++){
						img = new Image();
						img.src = 'Uploads'+data[i].imgOrig;
					}
					this.showAdvertisement(data, 0, 'advertisement');
				}
				var cn = new Ext.data.Connection({url:"getdata.php?Type=getAdvertisement"}).request({
					scope: this, method: "POST", success: cb
				});
			}
			if(Ext.getBody().child('div[class=carousel_component]')){
				if(Ext.query('img', Ext.getBody().child('div[class=carousel_component]', true)).length < 2) return;
				task = new Ext.util.DelayedTask(this.moveImg, this, ['next']);
				task.delay(5000);
			}
			/*
			var table = Ext.query('td[class=products_more_table_td_4]', 'productTab');
			for(var i=0;i<table.length;i++){
				table[i].innerHTML = (i+1).toString().length > 1 ? i+1 : '0'+(i+1).toString();
			}
			var div = Ext.query('div[class=layout_main_arealink_div_1]');
			for(var i=0;i<div.length;i++){
				if(Ext.get(div[i]).getWidth() > 290) div[i].style.width = '290px';
			}
			*/
		}, 
		
		isNonEmpty: function(request){
			if(this.isEmptyField(request)) return false;
			if (Ext.getDom('EMail').value != '' && !Ext.form.VTypes.email(Ext.getDom('EMail').value)) {
				alert('E-Mail 格式有誤!!'); Ext.getDom('EMail').select(); return false;
			}
			return true;
		}, 
		
		isEmptyField: function(request){
			var list = Ext.query("[rel]", request);
			for (var i = 0; i < list.length; i++) {
				if(Ext.getCmp('ext_'+list[i].id)){
					if(Ext.getCmp('ext_'+list[i].id).getRawValue() == '') { alert('Please key the word!!'); list[i][list[i].select ? 'select' : 'focus'](); return true; }
				}else{
					if (list[i].value == "") { alert('Please key the word!!'); list[i][list[i].select ? 'select' : 'focus'](); return true; }
				}
			}
			return false;
		}, 
		
		showAdvertisement: function(data, num, word){
			Ext.get(word).hide({callback: function(el){
				el.child('a', true).href = data[num].Url;
				var img = el.child('img', true);
				img.src = 'Uploads'+data[num].imgOrig;
				img.title = data[num].Name;
				var sec = (data[num].Defers > 0 ? data[num].Defers : 5)*1000;
				num = num+1 == data.length ? 0 : num+1;
				if(data.length > 1) this.showAdvertisement.defer(sec, this, [data, num, word]);
				el.show().slideIn('t');
			}, scope: this});
		},
		
		showIndexAdv: function(datas, nums, words){
			Ext.get(words).fadeOut({callback: function(els){
//				var img = els.child('img', true);
//				if(!img){
//					img = Ext.DomHelper.append(els, {tag: 'img', src: 'Uploads'+datas[nums].Images, title: datas[nums].Title, width: 981, height: 448});
//				}else{
					els.dom.style.backgroundImage = 'url(Uploads'+datas[nums].imgOrig+')';
//					img.title = datas[nums].Title;
//				}
				var secs = (datas[nums].Defers > 0 ? datas[nums].Defers : 5)*1000;
				nums = nums+1 == datas.length ? 0 : nums+1;
				if(datas.length > 1) this.showIndexAdv.defer(secs, this, [datas, nums, words]);
				els.fadeIn({duration: 1.2});
			}, scope: this, duration: .4});
		},
		
		moveImg2: function(num){
			if(num == this.inxScroll || this.isMove) return;
			task.cancel();
			this.isMove = true;
			var bar = Ext.getBody().child('div[class=carousel_component]');
			var imgs = Ext.query('img', bar.dom);
			this.changeBtnStyle(num);
			bar.scroll(num > this.inxScroll ? 'l' : 'r', Ext.get(imgs[0]).getWidth() * Math.abs(num-this.inxScroll), {callback: function(el){
				this.isMove = false;
				task.delay(5000);
			}, scope: this});
			this.inxScroll = parseInt(num);
		}, 
		
		moveImg: function(aspect){
			var bar = Ext.getBody().child('div[class=carousel_component]');
			var imgs = Ext.query('img', bar.dom);
			var inx = this.inxScroll+(aspect == 'prev' ? -1 : 1);
			if(inx < 0) inx = imgs.length-1;
			if(inx >= imgs.length) inx = 0;
			this.moveImg2(inx);
		},
		
		changeBtnStyle: function(num){
			var btns = Ext.query('input', 'solutions_more_chang_ap_div_3');
			if(btns.length){
				btns[num].src = 'images/productsinfo_27.jpg';
				btns[num].style.cursor = 'default';
				btns[this.inxScroll].src = 'images/productsinfo_28.jpg';
				btns[num].style.cursor = 'pointer';
			}
		}
	}
} ();

Ext.onReady(common.init, common);
