/********************************
 * 通用函数
*********************************/
function getXmlHttpObject() {
    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
                xmlhttp = false;
            }
        }
    @else
        xmlhttp = false;
    @end @*/
	if (window.opera) {
		xmlhttp = new XMLHttpRequest();
	} else {
	    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
	        try {
	            xmlhttp = new XMLHttpRequest();
	            xmlhttp.overrideMimeType("text/xml"); 
	        } catch (e) {
		    	xmlhttp = false;
	        }
	    }
    }
    return xmlhttp;
}

function defClear (_obj) {
	if(_obj.defaultValue==_obj.value)_obj.value='';
}
function keyword_txt_check(pDefStr, pErrStr) {
	var err = false;
	for(var i=2; i<arguments.length; i++){
		var val = arguments[i].value;
		if(val!=pDefStr && val!=""){
			return true;
		}
		err = true;
	}
	if(err){
		if(pErrStr!="")
			alert(pErrStr);
		return false;
	}
}
// SET SELECT OPTIONS VALUE +++++++++++++++++++++++++++++++++++++//
function set_option_data(obj, data, select_index, select_default) {
	var offset = 0;
	if (select_default == "") {
		obj.length = data.length;
	} else {
		obj.length = data.length + 1;
		obj.options[0] = new Option(select_default, '');
		offset = 1;
	}
	for (var i = 0; i < data.length; i++) {
		obj.options[i + offset] = new Option(data[i][1], data[i][0]);
	}
	obj.selectedIndex = select_index;
	return;
}
// GET RADIO VALUE +++++++++++++++++++++++++++++++++++++//
function get_radio_value(obj) {
	var value = "";
	if (typeof(obj.length) == 'undefined') {
		if (obj.checked == true) {
			value = obj.value;
		}
	} else {
		for (var i = 0; i < obj.length; i++) {
			if (obj[i].checked == true) {
				value = obj[i].value;
				break;
			}
		}
	}
	return value;
}

/********************************
 * 图片替换函数
*********************************/
var stockUaObj,stockUaSrc;
function setOverAction(_obj){
    // IE Bug 对应
    if (_obj.src == "" || _obj.src == null) return false;
    
    stockUaObj = _obj;
    stockUaSrc = _obj.src;
    if(stockUaSrc.indexOf("_cur.jpg") > 0){
        s = stockUaSrc.indexOf("_cur.gif");
        _obj.src = stockUaSrc.substring(0,s) + "_ovr.jpg";
    }else if(stockUaSrc.indexOf(".jpg") > 0){
        s = stockUaSrc.indexOf(".jpg");
        _obj.src = stockUaSrc.substring(0,s) + "_ovr.jpg";
    }else if(stockUaSrc.indexOf(".png") > 0){
        s = stockUaSrc.indexOf(".png");
        _obj.src = stockUaSrc.substring(0,s) + "_ovr.png";
    }else{
        s = stockUaSrc.indexOf(".gif");
        _obj.src = stockUaSrc.substring(0,s) + "_ovr.gif";
    }
}
function setOutAction(){
    // IE Bug 对应
	if (stockUaObj == "" || stockUaObj == null) return false;
    stockUaObj.src = stockUaSrc;
}
function setOutAction2(_obj){
    // IE Bug 对应
    if (_obj.src == "" || _obj.src == null) return false;
    
    stockUaObj = _obj;
    stockUaSrc = _obj.src;
    if(stockUaSrc.indexOf("_ovr.jpg") > 0){
        s = stockUaSrc.indexOf("_ovr.jpg");
        _obj.src = stockUaSrc.substring(0,s) + ".jpg";
    }else if(stockUaSrc.indexOf("_ovr.png") > 0){
        s = stockUaSrc.indexOf("_ovr.png");
        _obj.src = stockUaSrc.substring(0,s) + ".png";
    }else if(stockUaSrc.indexOf("_ovr.gif") > 0){
        s = stockUaSrc.indexOf("_ovr.gif");
        _obj.src = stockUaSrc.substring(0,s) + ".gif";
    }
}
function imgSwap(_obj, _img, _xpos, _ypos) {
    if (_img != "") _obj.style['background'] = "url(" + _img + ")";
    
    var xpos = "";
    var ypos = "";
    xpos = (_xpos != "") ? _xpos + "px" : "0px";
    ypos = (_ypos != "") ? _ypos + "px" : "0px";
    _obj.style['backgroundPosition'] = xpos + " " + ypos;  // for non-ie
    _obj.style['backgroundPositionX'] = xpos;  // for ie
    _obj.style['backgroundPositionY'] = ypos;  // for ie
}

/********************************
 * 打开页面函数
*********************************/
function openLink(url, method, params) {
	if (method == "_blank") {
		window.open(url);
	} else {
		window.location = url;
	}
	
}

/********************************
 * 类操作函数
*********************************/
var Class = {
	create: function() {
		return function() {
			this.initialize.apply(this, arguments);
		}
	}
}
var Util = Class.create();
Util.prototype = {
	initialize: function() {
	},

	$: function(id) {
		return document.getElementById(id);
	},

	$A: function(iterable) {
		if(!iterable) {
			return [];
		}
		if(iterable.toArray) {
			return iterable.toArray();
		} else {
			var results = [];
			for(var i = 0; i < iterable.length; i++) {
				results.push(iterable[i]);
			}
			return results;
		}
	},

	bind: function() {
		var array = this.$A(arguments);
		var func = array[1];
		var _method = func, args = array, object = args.shift();
		var param = new Array();
		for (var i=1;i<array.length;i++) {
			param.push(array[i]);
		}
		return function() {
			return _method.apply(object, param);
		}
	},

	getHeight: function(element) {
		return element.offsetHeight;
	},

	setStyle: function(element, key, value) {
		element.style[key] = value;
	},

	getStyle: function(element, key) {
		return element.style[key];
	},

	cleanWhitespace: function(list) {
		var node = list.firstChild;
		while (node) {
			var nextNode = node.nextSibling;
			if(node.nodeType == 3 && !/\S/.test(node.nodeValue)) {
				list.removeChild(node);
			}
			node = nextNode;
		}
		return list;
	},

	cumulativeOffset: function(element) {
		var valueT = 0, valueL = 0;
		do {
			valueT += element.offsetTop  || 0;
			valueL += element.offsetLeft || 0;
			element = element.offsetParent;
		} while (element);
		return [valueL, valueT];
	},
	
	/**
	 * 监听方法
	 * element: 监听对象
	 * name: 监听方法
	 * observer: 执行的方法
	 * useCapture: 浏览器调用事件的方式 (true 为 Capture 方式, false 为 Bubbling 方式)
	 */
	addListener: function(element, name, observer, useCapture) {
		if(element.addEventListener) {
			element.addEventListener(name, observer, useCapture);
		} else if(element.attachEvent) {
			element.attachEvent('on' + name, observer);
		}
	}
}


/********************************
 * Style 选择函数
*********************************/
var styleSelect = function () {
    var oEvent = arguments[0];
    //var oTarget = oEvent.target || oEvent.srcElement;
    var xmlHttp = getXmlHttpObject();
    xmlHttp.open('GET', '/default/ajax.html?color=' + oEvent.id, true);
    xmlHttp.onreadystatechange = function() {
        responseStyleSelect(xmlHttp)
    }
    xmlHttp.send(null);
}
function responseStyleSelect(xmlHttp) {
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
		var xmlDoc = xmlHttp.responseXML;
        if (xmlDoc.documentElement) {
            var getData = xmlDoc.documentElement.childNodes;
    		var style_name = getData[0].nodeValue;
            var style_href = "../customize/" + style_name + "/style.css";
            setStyleSheet('beaubeau_style', style_name);
        }
    }
}

