// JavaScript Document

//////////////////////////////////////////////////////////////////////////////////////////////////
var ai_showing = false;
var ai_lastmake = '';
var ai_lastmodel = '';
var ai_lastvehyear = '';
var ai_cachedata = [];
function ai_callback(type, str){
	var cdid = "ts_";
	if(type == 'make'){
		cdid += "makes";
	} else if(type == 'model'){
		cdid += ai_filter($_("tsmake").value) + "___models";
	} else if(type == 'vehyear'){
		cdid += ai_filter($_("tsmake").value) + "___" + ai_filter($_("tsmodel").value) + "___vehyears";
	}
	ai_callbackb(type, str, cdid);
}
function ai_filter(str){
	return str.replace(/[^A-Za-z0-9]/ig, '_');
}
function ai_callbackb(type, str, cdid){
	var ei = 'ts'+type;
	//var es = 'ts'+type+'s';
	var es = cdid;
	if($_(es) && $_(es).innerHTML){
		$_(es).style.display = "";
	} else {
		var e = document.createElement("DIV");
		e.id = cdid;
		e.className = "tsselectdrop";
		e.style.position = 'absolute';
		e.style.left = getOffsetLeft($_(ei)) + 'px';
		e.style.top = (getOffsetTop($_(ei)) + 20) + 'px';
		e.style.zIndex = 1000;
		e.innerHTML = ai_format(str);
		document.body.appendChild(e);
		ai_showing=true;
		_addEvent(e, "mouseover", function(){ai_showing=true;$_(ei).className="selectb";});
		_addEvent(e, "mouseout", function(){setTimeout("ai_hide('"+ei+"', '"+es+"')", 100);ai_showing=false;});
		var a = $_(es).getElementsByTagName("UL");
		for(var i=0; i<a.length; i++){
			var b = a[i].getElementsByTagName("LI");
			if(b.length > 0){
				for(var j=0; j<b.length; j++){
					_addEvent(b[j], "mouseover", function(event){
										var e = event.srcElement;if(e == null) e = event.target;
										if(e.tagName == "LI" && e.getElementsByTagName("LI").length == 0){
											e.className = "over";
										}
											});
					_addEvent(b[j], "mouseout", function(event){
										var e = event.srcElement;if(e == null) e = event.target;
										if(e.tagName == "LI" && e.getElementsByTagName("LI").length == 0){
											e.className = "";
										}
											});
					_addEvent(b[j], "click", function(event){
											var e = event.srcElement;if(e == null) e = event.target;
											if(e.tagName == "LI" && e.getElementsByTagName("LI").length == 0){
												var v = e.innerHTML;$_(ei).value = v.replace('&amp;', '&');
												if(type == 'make' && v != ai_lastmake){
													ai_reset('make');
													ai_lastmake = v;
												} else if(type == 'model' && v != ai_lastmodel){
													ai_reset('model');
													ai_lastmodel = v;
												}
												ai_showing=false;
												ai_hide(ei, es);
											}
											});
				}
			} else {
				_addEvent(b[j], "mouseover", function(event){
									var e = event.srcElement;if(e == null) e = event.target;
									if(e.tagName == "LI" && e.getElementsByTagName("LI").length == 0){
										e.className = "over";
									}
										});
				_addEvent(b[j], "mouseout", function(event){
									var e = event.srcElement;if(e == null) e = event.target;
									if(e.tagName == "LI" && e.getElementsByTagName("LI").length == 0){
										e.className = "";
									}
										});
				_addEvent(a[i], "click", function(event){
									var e = event.srcElement;if(e == null) e = event.target;var v = e.innerHTML;$_(ei).value = v.replace('&amp;', '&');
									if(type == 'make' && v != ai_lastmake){
										ai_reset('make');
										ai_lastmake = v;
									} else if(type == 'model' && v != ai_lastmodel){
										ai_reset('model');
										ai_lastmodel = v;
									}
									ai_showing=false;
									ai_hide(ei, es);
										});
			}
		}
	}
}
function ai_format(str){
	var a = str.split('|');
	
	var s = '<ul class="v">';
	for(var i=0; i<a.length; i++){
		s += '<li>'+a[i]+'</li>';
	}
	s += '</ul>';
	/*
	if(a.length > 40){
		var k = 0;
		var b = parseInt(a.length / 3);
		var s = '<ul class="h"><li><ul class="v">';
		for(var i=0; i<a.length; i++){
			for(k=0; k<3; k++){
				if(i> 0 && i == (b * k)){
					s += '</ul></li><li><ul class="v">';
				}
			}
			s += '<li>'+a[i]+'</li>';
		}
		s += '</ul><li></ul>';
	} else if(a.length > 10){
		var b = parseInt(a.length / 2);
		var s = '<ul class="h"><li><ul class="v">';
		for(var i=0; i<a.length; i++){
			if(i == b){
				s += '</ul></li><li><ul class="v">';
			}
			s += '<li>'+a[i]+'</li>';
		}
		s += '</ul><li></ul>';
	} else {
		var s = '<ul class="h"><li><ul class="v s">';
		for(var i=0; i<a.length; i++){
			s += '<li>'+a[i]+'</li>';
		}
		s += '</ul><li></ul>';
	}*/
	
	return s;
}
function ai_style(e){
	//if(e.value.indexOf("Select ") > -1){
	//	e.className = "select";
	//} else {
	//	e.className = "selectb";
	//}
	e.className = "select";
}
function ai_show(e){
	$_(e).style.display = "";
}
function ai_hide(ei, es, w, h){
	if(ai_showing == true){
		return;
	}
	//if($_(ei).value.indexOf("Select ") > -1){
	//	$_(ei).className = "select";
	//} else {
	//	$_(ei).className = "selectb";
	//}
	$_(ei).className = "select";
	$_(es).style.display = "none";
	ai_showing = false;
}
function ai_reset(type){
	//$_("tsmake").value = "";
	//$_("ts_makes").innerHTML = "";
	if(type == 'make'){
		$_("tsmodel").className = "select";
		$_("tsvehyear").className = "select";
		//
		$_("tsmodel").value = "Select Model";
		$_("tsvehyear").value = "Select Year";
		if($_("tsmodels")){
			$_("tsmodels").innerHTML = "";
		}
		if($_("tsvehyears")){
			$_("tsvehyears").innerHTML = "";
		}
	} else if(type == 'model'){
		$_("tsvehyear").className = "select";
		//
		$_("tsvehyear").value = "Select Year";
		if($_("tsvehyears")){
			$_("tsvehyears").innerHTML = "";
		}
	}
}
function ai_loading(s){
	//$_("content").className = "loading";
	if(s == -1){
		//$_("cloading").style.height = 0;
		$_("loading").style.display = "none";
	} else {
		//$_("cloading").style.height = 300;
		$_("loading").style.display = "";
	}
}
function ai_change_make(){
	ai_loading();
	var make = $_("f_make").value;
	document.location.hash = "#"+make;
	xc("wsa_ai_changemake", [make]);
}
function ai_editFieldCallback(evt){
	var e = evt.srcElement;
	if(e.tagName != "TD" || e.getElementsByTagName("INPUT").length > 0){
		return;
	}
	var id = e.id;
	var a = e.innerHTML;
	var w = e.offsetWidth;
	//e.innerHTML = '<input type="text" name="e_'+id+'" id="e_'+id+'" value="'+a+'" style="width: '+w+'; ">';
	var obj = document.createElement("INPUT");
	obj.type = "text";
	obj.name = "e_"+id;
	obj.id = "e_"+id;
	obj.value = a;
	obj.style.width = w+"px";
	e.innerHTML = "";
	e.appendChild(obj);
	_removeEvent(e, "dblclick", function(){});
	_addEvent($_('e_'+id), "blur", function(){ai_saveFieldCallback(event);});
}
function ai_saveFieldCallback(evt){
	var e = evt.srcElement;
	var id = e.id.substring(2);
	var v = e.value;
	xajax.call("wsa_ai_updateitem", [id, v], 1);
}
function ai_tipField(evt, s){
	if(ai_tipfield_hide == 1 && ai_editfield_id == ai_tipfield_id){
		$_("tipfield").style.display = "none";
		return;
	}
	var e = evt.srcElement;
	//if(ai_editfield_doing == 1 && e.id == ai_editfield_id){
	//	return;
	//}
	if(e.getAttribute('tipfield').length > 0){
		$_("tipfield_value").innerHTML = e.getAttribute('tipfield');
		ai_popup('tipfield', e.id, getOffsetLeft(e)+e.offsetWidth, getOffsetTop(e));
	} else {
		$_("tipfield").style.display = "none";
	}
}
function ai_editField(evt){
	var e = evt.srcElement;
	if(ai_editfield_id != e.id){
		if(e.className == ""){
			e.className = "editfield";
		} else if(e.className == "hastip"){
			e.className = "hastip editfield";
		}
		if(ai_editfield_id != "" && $_(ai_editfield_id)){
			$_(ai_editfield_id).className = str_trim($_(ai_editfield_id).className.replace(/editfield/, ""));
		}
	} else {
		//
	}
	$_("tipfield").style.display = "none";
	$_("editfield_value").value = e.innerHTML;
	$_("editfield_tip").value = e.getAttribute('tipfield');
	ai_popup('editfield', e.id, getOffsetLeft(e)-100, getOffsetTop(e)+e.offsetHeight);
	ai_editfield_doing = 1;
	ai_tipfield_hide = 1;
}
function ai_saveField(){
	var v = $_("editfield_value").value;
	var t = $_("editfield_tip").value;
	xajax.call("wsa_ai_updateitem", [ai_editfield_id, v, t], 1);
}
function ai_saveFieldH(){
	$_("editfield").style.display = "none";
	if(ai_editfield_id != ""){
		$_(ai_editfield_id).className = str_trim($_(ai_editfield_id).className.replace(/editfield/, ""));
	}
	ai_editfield_id = "";
	ai_editfield_doing = 0;
	ai_tipfield_hide = 0;
}
function ai_saveFieldCB(fid, v, t){
	ai_saveFieldStatus();
	if(ai_editfield_id != "" && $_(ai_editfield_id)){
		$_(ai_editfield_id).className = str_trim($_(ai_editfield_id).className.replace(/editfield/, ""));
		if(t == ""){
			$_(ai_editfield_id).className = str_trim($_(ai_editfield_id).className.replace(/hastip/, ""));
		} else {
			$_(ai_editfield_id).className = str_trim($_(ai_editfield_id).className.replace(/hastip/, "")+" hastip");
		}
	}
	$_(fid).innerHTML = v;
	$_(fid).setAttribute('tipfield', t);
}
function ai_saveFieldStatus(s){
	if(s == -1){
		$_("editfield_status").innerHTML = "";
		return;
	}
	$_("editfield_status").innerHTML = "OK";
	setTimeout("ai_saveFieldStatus(-1)", 2000);
}
function ai_addItem(obj){
	//ai_edititem_id = 0;
	//ai_popup('edititem', "", 400, 400, 400);
	$_("edititem_make").value = "";
	$_("edititem_model").value = "";
	$_("edititem_vehyear").value = "";
	$_("edititem_seatpos").value = "";
	$_("edititem_oemcolor").value = "";
	$_("edititem_oempiping").value = "";
	$_("edititem_mdcolor").value = "";
	$_("edititem_mdpiping").value = "";
	$_("edititem_colorcode").value = "";
	$_("edititem_screensize").value = "";
	$_("edititem_material").value = "";
	ai_editItem(0);
}
var ai_edititem_id = 0;
var ai_edititem_action = '';
function ai_editItem(id, style){
	ai_edititem_id = id;
	if(id > 0){
		$_("edititem_title").innerHTML = "Edit";
		$_("edititem_btn").value = "Update";
		//$_("edititem_make").value = $_("ed_make_"+id).innerHTML;
		$_("edititem_make").value = $_("f_make").value;
		$_("edititem_model").value = $_("ed_model_"+id).innerHTML;
		$_("edititem_vehyear").value = $_("ed_vehyear_"+id).innerHTML;
		
		if(style == 'before' || style == 'after'){
			ai_edititem_action = style;
			$_("edititem_seatpos").value = $_("ed_seatpos_"+id).innerHTML;
			//$_("edititem_oemcolor").value = $_("ed_oemcolor_"+id).innerHTML;
			//$_("edititem_oempiping").value = $_("ed_oempiping_"+id).innerHTML;
			//$_("edititem_mdcolor").value = $_("ed_mdcolor_"+id).innerHTML;
			//$_("edititem_mdpiping").value = $_("ed_mdpiping_"+id).innerHTML;
			//$_("edititem_colorcode").value = $_("ed_colorcode_"+id).innerHTML;
			//$_("edititem_screensize").value = $_("ed_screensize_"+id).innerHTML;
			//$_("edititem_material").value = $_("ed_material_"+id).innerHTML;
			
			$_("edititem_title").innerHTML = "Add";
			$_("edititem_btn").value = "Add";
		} else {
			ai_edititem_action = 'edit';
			$_("edititem_seatpos").value = $_("ed_seatpos_"+id).innerHTML;
			$_("edititem_oemcolor").value = $_("ed_oemcolor_"+id).innerHTML;
			$_("edititem_oempiping").value = $_("ed_oempiping_"+id).innerHTML;
			$_("edititem_mdcolor").value = $_("ed_mdcolor_"+id).innerHTML;
			$_("edititem_mdpiping").value = $_("ed_mdpiping_"+id).innerHTML;
			$_("edititem_colorcode").value = $_("ed_colorcode_"+id).innerHTML;
			$_("edititem_screensize").value = $_("ed_screensize_"+id).innerHTML;
			$_("edititem_material").value = $_("ed_material_"+id).innerHTML;
		}
		
		var e = $_("ea_"+id);
		var l = getOffsetLeft(e) - 400;
		var t = getOffsetTop(e);
		var w = 400;
		ai_popup('edititem', "", l, t, w);
	} else {
		ai_edititem_action = 'add';
		
		$_("edititem_make").value = $_("f_make").value;
		$_("edititem_title").innerHTML = "Add";
		$_("edititem_btn").value = "Add";
		
		var l = 100;
		var t = 50;
		var w = 400;
		ai_popup('edititem', "", l, t, w);
	}
}
function ai_editItem_save(){
	var make = $_("edititem_make").value;
	var model = $_("edititem_model").value;
	var vehyear = $_("edititem_vehyear").value;
	var seatpos = $_("edititem_seatpos").value;
	var oemcolor = $_("edititem_oemcolor").value;
	var oempiping = $_("edititem_oempiping").value;
	var mdcolor = $_("edititem_mdcolor").value;
	var mdpiping = $_("edititem_mdpiping").value;
	var colorcode = $_("edititem_colorcode").value;
	var screensize = $_("edititem_screensize").value;
	var material = $_("edititem_material").value;
	
	if(str_length(make) == 0 || str_length(model) == 0 || str_length(vehyear) == 0 || str_length(seatpos) == 0 || str_length(oemcolor) == 0 || str_length(mdcolor) == 0){
		alert("Requried Fields");
		return false;
	}
	
	xc("wsa_ai_item", [ai_edititem_id, ai_edititem_action, [make, model, vehyear, seatpos, oemcolor, oempiping, mdcolor, mdpiping, colorcode, screensize, material]]);
}
function ai_editItem_saveCB(id, d){
	$_("ed_model_"+id).innerHTML = d.model;
	$_("ed_vehyear_"+id).innerHTML = d.vehyear;
	$_("ed_seatpos_"+id).innerHTML = d.seatpos;
	$_("ed_oemcolor_"+id).innerHTML = d.oemcolor;
	$_("ed_oempiping_"+id).innerHTML = d.oempiping;
	$_("ed_mdcolor_"+id).innerHTML = d.mdcolor;
	$_("ed_mdpiping_"+id).innerHTML = d.mdpiping;
	$_("ed_colorcode_"+id).innerHTML = d.colorcode;
	$_("ed_screensize_"+id).innerHTML = d.screensize;
	$_("ed_material_"+id).innerHTML = d.material;
	
	ai_editItem_saveStatus();
}
function ai_editItem_saveStatus(s){
	if(s == -1){
		ai_editItem_cancel();
		return;
	}
	$_("edititem_status").innerHTML = "OK";
	setTimeout("ai_editItem_saveStatus(-1)", 2000);
}
function ai_editItem_cancel(){
	$_("edititem_make").value = "";
	$_("edititem_model").value = "";
	$_("edititem_vehyear").value = "";
	$_("edititem_seatpos").value = "";
	$_("edititem_oemcolor").value = "";
	$_("edititem_oempiping").value = "";
	$_("edititem_mdcolor").value = "";
	$_("edititem_mdpiping").value = "";
	$_("edititem_colorcode").value = "";
	$_("edititem_screensize").value = "";
	$_("edititem_material").value = "";
	
	$_("edititem").style.display = "none";
}
function ai_addTableItem(obj, nums){
	var row = obj.parentNode;
	var table = row.parentNode;
	var rowindex = row.rowIndex;
	var row_new = table.insertRow(rowindex + 1);
	nums = row.cells.length;
	for(var i=0; i<nums; i++){
		var cell_new = row_new.insertCell(i);
		if(i == 0){
			cell_new.setAttribute("valign", "top");
		}
		//cell_new.innerHTML = row.cells[i].innerHTML.replace(/(.*)(addTableItemB)(.*)(\[)(\+)/i, "$1removeTableItemB$3$4-").replace(/(<textarea.*)name="(.*)\[(.*)\]"(.*>)(.*)(<\/textarea>)/, "$1name=\"$2\[\]\"$4$6");
		cell_new.innerHTML = "";
	}
}
function ai_removeTableItem(obj){
	var row = obj.parentNode.parentNode;
	var table = row.parentNode;
	var rowindex = row.rowIndex;
	table.deleteRow(rowindex);
}
function ai_cleancache(){
	xc("wsa_ai_cleancache", []);
}
function ai_backup(){
	if(confirm("Backup?")){
		xc("wsa_ai_backup", []);
	}
}
function ai_rebackup(){
	if(confirm("Backup again?")){
		xc("wsa_ai_backup", [1]);
	}
}
function ai_restore(){
	alert("Closed");
}
function ai_toexcel(){
	if(confirm("Make Excel?")){
		xc("wsa_ai_toexcel", [$_("f_make").value]);
	}
}
function ai_retoexcel(){
	if(confirm("Make Excel again?")){
		xc("wsa_ai_toexcel", [$_("f_make").value, 1]);
	}
}
function ai_toexcelcb(f, s){
	$_("exceldownload").innerHTML = '<a href="'+BASE_URL+'excel/download/'+f+'">Download</a>';
}
var ai_action_id = "";
var ai_editfield_id = "";
var ai_editfield_doing = 0;
var ai_tipfield_id = "";
var ai_tipfield_hide = 0;
function ai_popup(pid, id, l, t, w, h){
	if(pid == 'action'){
		ai_action_id = id;
	} else if(pid == 'editfield'){
		ai_editfield_id = id;
	} else if(pid == 'tipfield'){
		ai_tipfield_id = id;
	}
	if($_(pid)){
		if(l < 0){
			l = 20;
		}
		if(l > 900){
			l = l - 100;
		}
		if(typeof(w) == "undefined"){
			w = 200;
		}
		$_(pid).style.display = "";
		$_(pid).style.position = "absolute";
		$_(pid).style.width = w + "px";
		$_(pid).style.top = t + "px";
		$_(pid).style.left = l + "px";
	}
}
function ai_actionCallback(evt){
	var e = evt.srcElement;
	ai_popup('action', e.id, getOffsetLeft(e)-100, getOffsetTop(e), 100);
}
function ai_action_hide(){
	$_("action").style.display = "none";
}
function ai_action_insert(){
	if(ai_action_id && $_(ai_action_id)){
		ai_addTableItem($_(ai_action_id), 5);
	}
}
function ai_action_insertbefore(){
	if(ai_action_id && $_(ai_action_id)){
		//ai_addTableItem($_(ai_action_id), 5);
		ai_editItem(ai_action_id.substring(3), 'before');
	}
}
function ai_action_insertafter(){
	if(ai_action_id && $_(ai_action_id)){
		//ai_addTableItem($_(ai_action_id), 5);
		ai_editItem(ai_action_id.substring(3), 'after');
	}
}
function ai_action_edit(){
	//ai_action_id = ea_xxx
	ai_editItem(ai_action_id.substring(3));
}
function ai_action_delete(){
	if(ai_action_id != "" && ai_action_id.substring(3) > 0 && confirm("Delete this Item?")){
		xc("wsa_ai_deleteitem", [ai_action_id.substring(3)]);
	}
}
function ai_loadcontent(make){
	if(typeof(make) == "undefined"){
		var make = document.location.hash.substring(1);
	}
	var b = false;
	var a = $_("f_make").options;
	for(var i=0; i<a.length; i++){
		if(a[i].value == make){
			a[i].selected = true;
			b = true;
		}
	}
	if(b == false){
		make = "";
	}
	setTimeout("xc('wsa_ai_changemake', ['"+make+"'])", 1000);
}
function ai_registerExcelAction(){
	ai_loading(-1);
	$_("edititem").style.display = "none";
	$_("tipfield").style.display = "none";
	$_("editfield").style.display = "none";
	$_("action").style.display = "none";
	$_("exceldownload").innerHTML = "";
	
	var bs = $_("content").getElementsByTagName("TD");
	if(bs.length == 0){
		return false;
	}
	for(var i=0; i<bs.length; i++){
		if(bs[i].parentNode.tagName == "TR" && bs[i].parentNode.className.indexOf("head") > -1){
			continue;
		}
		if(bs[i].className == "action"){
			_addEvent(bs[i], "click", function(event){ai_actionCallback(event);});
		} else {
			if(bs[i].className == "" && bs[i].getAttribute("tipfield") != ""){
				bs[i].className = "hastip";
			}
			//_addEvent(bs[i], "dblclick", function(event){ai_editFieldCallback(event);});
			_addEvent(bs[i], "mouseover", function(event){ai_tipField(event, 1);});
			_addEvent(bs[i], "mouseout", function(event){ai_tipField(event, 0);});
			_addEvent(bs[i], "click", function(event){ai_editField(event);});
		}
	}
}

