// JavaScript Document
var isActive = false;
var preloadFlag = true;
// DW START
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  newwin = window.open(theURL,winName,features);
  newwin.focus();
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}
function preloadImages() {
	if (document.images) {
		preloadFlag = true;
	}
}
// DW END
function changeClass(Elem, myClass){
	var elem;
	if(document.getElementById) {
		elem = document.getElementById(Elem);
	} else if (document.all){
		elem = document.all[Elem];
	}
	elem.className = myClass;
}
function displayBlock(Elem, display){
	var elem;
	if(document.getElementById) {
		elem = document.getElementById(Elem);
	} else if (document.all){
		elem = document.all[Elem];
	}
	elem.style.display = display;
}
function setClass(){
	// get the className
	if(typeof(setClass.arguments[0]) == 'undefined'){
		return false;
	}else{
		var className = setClass.arguments[0];
	}
	
	var elem;
	for(i=1 ; i<setClass.arguments.length ; i++){
		if(document.getElementById) {
			elem = document.getElementById(setClass.arguments[i]);
		} else if (document.all){
			elem = document.all[setClass.arguments[i]];
		}
		elem.className = className;
	}
}
function shiftDisplay(){
	// get the className
	if(typeof(shiftDisplay.arguments[0]) == 'undefined'){
		return false;
	}
	
	var elem;
	var curDisplay = '';
	for(i=0 ; i<shiftDisplay.arguments.length ; i++){
		if(document.getElementById) {
			elem = document.getElementById(shiftDisplay.arguments[i]);
		} else if (document.all){
			elem = document.all[shiftDisplay.arguments[i]];
		}
		curDisplay = elem.style.display;
		if(curDisplay == 'block'){
			elem.style.display = 'none';
		}else{
			elem.style.display = 'block';
		}
	}
}
function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
		}
	}
}
function textCounter(cur, target, maxlimit){
	var f = document.getElementById(cur);
	
	if(f.value.length > maxlimit){
		f.value = f.value.substring(0, maxlimit);
	}
	
	document.getElementById(target).innerHTML = maxlimit - f.value.length;
}
function trim(str){
   return str.replace(/^\s*|\s*$/g,"");
}
function changeBg(obj, bg){
	obj.style.backgroundColor = bg;
}
function changeObjClass(obj, myClass){
	obj.className = myClass;
}
function setFormAction(obj, value){
	var f = document.getElementById(obj);
	
	if(value != ''){
		f.a.value = value;
		f.submit();
		
		return true;
	}
}
//2009-02-24  auto ifrram height
function autoIframe(frameId){
	try{
		frame = document.getElementById(frameId);
		innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
		objToResize = (frame.style) ? frame.style : frame;
		objToResize.height = innerDoc.body.scrollHeight + 10;
	}
	catch(err){
		window.status = err.message;
	}
}
function setBlock(){
	// get the className
	if(typeof(setBlock.arguments[0]) == 'undefined'){
		return false;
	}else{
		var display = setBlock.arguments[0];
	}
	
	var elem;
	for(i=1 ; i<setBlock.arguments.length ; i++){
		if(document.getElementById) {
			elem = document.getElementById(setBlock.arguments[i]);
		} else if (document.all){
			elem = document.all[setBlock.arguments[i]];
		}
		elem.style.display = display;
		if(display == 'block'){
			elem.focus();
		}
	}
}
// JavaScript Document
function verifyEnquiryForm(formId){
	var f = document.getElementById(formId);
	
	var isError = false;
	var errorHeader = '請填寫下列資料，以便我們為您服務：\n';
	var errorMsg = '';
	
	var vs_name = trim(f.vs_name.value);
	if(vs_name.length <= 0){
		isError = true;
		errorMsg += '- 您的名稱\n';
	}
	var vs_phone = trim(f.vs_phone.value);
	if(vs_phone.length <= 0){
		isError = true;
		errorMsg += '- 聯絡電話\n';
	}
	var vs_msg = trim(f.vs_msg.value);
	if(vs_msg.length <= 0){
		isError = true;
		errorMsg += '- 查詢內容\n';
	}
	
	errorMsg = errorHeader + errorMsg;
	
	if(isError){
		alert(errorMsg);
		return false;
	}else{
		return true;
	}
}
// plus variables
var addthis_pub="1talent";
var addthis_header_color = "#ffffff";
var addthis_header_background = "#2E2E2E";
var addthis_options = 'email, myspace, facebook, live, google, more';


/**get DOM obj*/
function $(obj){
	return document.getElementById(obj);
}


/**clear all select*/
function unckboxsel(objname){
	var code_Values = document.all[objname];
	if(code_Values.length){
		for(var i=0;i<code_Values.length;i++)
		{
			code_Values[i].checked = false;
		}
	}else{
		code_Values.checked = false;
	}
}

/**select  all*/
function ckboxsel(objname){
	var code_Values = document.all[objname];
	if(code_Values.length){
		for(var i=0;i<code_Values.length;i++)
		{
			code_Values[i].checked = true;
		}
	}else{
		code_Values.checked = true;
	}
}

/**post all need select*/
function ckboxval(objname,hiddenobj){

	var ckboxall='';
	var logckbox = document.getElementsByName(objname);
	var str;
 	for(var i=0;i<logckbox.length;i++){
		if(logckbox[i].checked){
		 	ckboxall = ckboxall	+	logckbox[i].value	+	",";
		}
	}
	str	=	ckboxall.substring(0,ckboxall.length-1);
	$(hiddenobj).value=str;
}

/**
 * 回到页面顶部
 * @param acceleration 加速度
 * @param time 时间间隔 (毫秒)
 **/
function goTop(acceleration, time) {
	acceleration = acceleration || 0.1;
	time = time || 16;
 
	var x1 = 0;
	var y1 = 0;
	var x2 = 0;
	var y2 = 0;
	var x3 = 0;
	var y3 = 0;
 
	if (document.documentElement) {
		x1 = document.documentElement.scrollLeft || 0;
		y1 = document.documentElement.scrollTop || 0;
	}
	if (document.body) {
		x2 = document.body.scrollLeft || 0;
		y2 = document.body.scrollTop || 0;
	}
	var x3 = window.scrollX || 0;
	var y3 = window.scrollY || 0;
 
	// 滚动条到页面顶部的水平距离
	var x = Math.max(x1, Math.max(x2, x3));
	// 滚动条到页面顶部的垂直距离
	var y = Math.max(y1, Math.max(y2, y3));
 
	// 滚动距离 = 目前距离 / 速度, 因为距离原来越小, 速度是大于 1 的数, 所以滚动距离会越来越小
	var speed = 1 + acceleration;
	window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
 
	// 如果距离不为零, 继续调用迭代本函数
	if(x > 0 || y > 0) {
		var invokeFunction = "goTop(" + acceleration + ", " + time + ")";
		window.setTimeout(invokeFunction, time);
	}
}
