//複製URL地址
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);
var is_safari = (userAgent.indexOf('webkit') != -1 || userAgent.indexOf('safari') != -1);
/*
  //iframe包含
  if (top.location != location) {
  	top.location.href = location.href;
  }

  function $(id) {
	 return document.getElementById(id);
  }
*/

function setCopy(_sTxt){
	if(is_ie) {
		clipboardData.setData('Text',_sTxt);
		alert ("網址「"+_sTxt+"」\n已經複製到您的剪貼板中\n您可以使用Ctrl+V快捷鍵粘貼到需要的地方");
	} else {
		prompt("請複製網站地址:",_sTxt); 
	}
}

/*@cc_on _d=document;eval('var document=_d')@*/ 
String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"")};

function handleEnter (field, event) {
   // 按 enter 不會 submit onkeypress="return handleEnter(this, event);"         
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
	}  
	
function replaceAll(strOrg,strFind,strReplace){
 var index = 0;
 while(strOrg.indexOf(strFind,index) != -1){
  strOrg = strOrg.replace(strFind,strReplace);
  index = strOrg.indexOf(strFind,index);
 }
 return strOrg
} 
/*document.getElementsByName  =  function(name,  tag)
{
        if(!tag){
                tag  =  '*';
        }
        var  elems  =  document.getElementsByTagName(tag);
        var  res  =  []
        for(var  i=0;i<elems.length;i++){
                att  =  elems[i].getAttribute('name');
                if(att  ==  name)  {
                        res.push(elems[i]);
                }
        }
        return  res;
}*/
/*var isOpera, isIE = false;
if(typeof(window.opera) != 'undefined')
{
  isOpera = true;
}
if(!isOpera && navigator.userAgent.indexOf('Internet Explorer'))
{
  isIE = true;
  if(isIE)
  {
    //var document.getElementsByName = document.getElementsByName;
    document.getElementsByName = function(name)
    {
      var temp = document.all[name];
      var matches = [];
      for(var i=0;i<temp.length;i++)
      {
        if(temp[i].name == name)
        {
          matches.push(temp[i]);
        }
      }
      return matches;  
    }
  }
}*/
function execInnerScript_googleapi(innerhtml)
{  
  var temp=innerhtml.replace(/\n|\r/g,"");
  var regex=/<script.+?<\/script>/gi;
  var arr=temp.match(regex);  
  if(arr)
  {   
    for(var iiiiiiiiii_iii=0;iiiiiiiiii_iii<arr.length;iiiiiiiiii_iii++)
    {      
      var temp1=arr[iiiiiiiiii_iii];      
      var reg=new RegExp("^<script(.+?)>(.+)<\/script>$","gi");
      reg.test(temp1);                  
      eval(RegExp.$2);          
    }
  }  
}
  // 修改自 AJAX: Getting Started - MDC
  function makeRequest_googleapi(url,input,out_span) {
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // IE
      try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
        try {
          http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
      }
    }

    if (!http_request) {
      alert('Giving up :( Cannot create an XMLHTTP instance');
      return false;
    }
    // 定義事件處理函數為 alterContents()
    http_request.onreadystatechange = function() { 
                                      alertContents_googleapi(http_request,input,out_span); };
    //http_request.open('GET', url, true);

    
    
    http_request.open('POST', url, true);
    http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http_request.send(input);
    //http_request.send(null);
    
  }

  function alertContents_googleapi(http_request,input,out_span) {
    if (http_request.readyState == 4)
    {
      if (http_request.status == 200) {
        var mesg =http_request.responseText;

        //document.getElementById(out_span).innerHTML=mesg;
        out_span=replaceHtml(out_span,mesg);
        execInnerScript_googleapi(mesg);             
      } else {
        //alert('There was a problem with the request.');
      }

    }
    else
    {
      //document.getElementById(out_span).innerHTML="<center></center>";
    }
  }

function  execInnerScript(innerhtml)
{
var  temp=innerhtml.replace(/\n|\r/g,"");
var  regex=/<script.+?<\/script>/gi;
var  arr=temp.match(regex);
if(arr)
{
for(var  iiiiiiiiii_iii=0;iiiiiiiiii_iii<arr.length;iiiiiiiiii_iii++)
{
var  temp1=arr[iiiiiiiiii_iii];
var  reg=new  RegExp("^<script(.+?)>(.+)<\/script>$","gi");
reg.test(temp1);
eval(RegExp.$2);
}
}
}

  // 修改自 AJAX: Getting Started - MDC
  function makeRequest(url,input,out_span) {
    var http_request = false;

    if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // IE
      try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
        try {
          http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
      }
    }

    if (!http_request) {
      alert('Giving up :( Cannot create an XMLHTTP instance');
      return false;
    }
    // 定義事件處理函數為 alterContents()
    http_request.onreadystatechange = function() { 
                                      alertContents(http_request,input,out_span); };
    //http_request.open('GET', url, true);

    
    
    http_request.open('POST', url, true);
    http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http_request.send(input);
    //http_request.send(null);
    
  }
  function alertContents(http_request,input,out_span) {
    if (http_request.readyState == 4)
    {
      if (http_request.status == 200) {
        var mesg =http_request.responseText;
        //document.getElementById(out_span).innerHTML=mesg;
        replaceHtml(out_span,mesg);
        execInnerScript(mesg);            
      } else {
        //alert('There was a problem with the request.');
      }

    }
    else
    {
      //document.getElementById(out_span).innerHTML="<center></center>";
      //out_span=replaceHtml(out_span,document.getElementById(out_span).innerHTML);
    }
  }  

  
  function getWindowSize(){
    var myWidth = 0, myHeight = 0;
    if( typeof( window.innerWidth ) == 'number' ) {
      //Non-IE
      myWidth = window.innerWidth;
      myHeight = window.innerHeight;
    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
      //IE 6+ in 'standards compliant mode'
      myWidth = document.documentElement.clientWidth;
      myHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
      //IE 4 compatible
      myWidth = document.body.clientWidth;
      myHeight = document.body.clientHeight;      
    }
    var a=new Object();
    a['width']=myWidth;
    a['height']=myHeight;
    return a;
  }
  
/*function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
} */ 
function onKeyPressCode(e)
{
  var key =  window.event ? e.keyCode : e.which;
  var keychar = key;
  return keychar;
}


function replaceHtml(el, html) {
	var oldEl = typeof el === "string" ? document.getElementById(el) : el;
	/*@cc_on // Pure innerHTML is slightly faster in IE
		oldEl.innerHTML = html;
		return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	/* Since we just removed the old element from the DOM, return a reference
	to the new element, which can be used to restore variable references. */
	return newEl;
}

/*
	//給jQuery擴充的 cookie 功能
		http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/

	jQuery操作cookie的插件,大概的使用方法如下

	设置cookie的值
			$.cookie('the_cookie', ‘the_value');
	新建一个cookie 包括有效期 路径 域名等
			$.cookie('the_cookie', ‘the_value', {expires: 7, path: ‘/', domain: ‘jquery.com', secure: true});
	新建cookie
		  $.cookie('the_cookie', ‘the_value');
	删除一个cookie
		  $.cookie('the_cookie', null);

*/
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        var path = options.path ? '; path=' + options.path : '';
        var domain = options.domain ? '; domain=' + options.domain : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};

//我的ajax
function myAjax(url,postdata)
{
  var tmp = $.ajax({
      url: url,
      type: "POST",
      data: postdata,
      async: false
   }).responseText;
  return tmp;
}
/*function myAjax_async(url,postdata)
{
  $.ajax({
      url: url,
      type: "POST",
      data: postdata,
      async: true,
      success: function(data){
        alert(data);
      }
   };
  
}*/
//自然滑動機
function div_motion(domid)
{
	var pre_name="3WA_"+new Date().getTime();
	
    window[pre_name+'paperdown']=0;
    window[pre_name+'motion']=0;
    $("#"+domid).mousedown(function(event){
      if(window[pre_name+'paperdown']!=0)
      {		
		  $("#"+domid).stop();
	  }
      window[pre_name+'startmovetime']=new Date().getTime();
      window[pre_name+'paperdown']=1;
      window[pre_name+'moveX']=event.pageX;
      window[pre_name+'moveY']=event.pageY;
      window[pre_name+'motion']=0;                          
    });
    $("#"+domid).mouseup(function(){
	   window[pre_name+'endmovetime']=new Date().getTime();
	   window[pre_name+'lastX']=this.scrollLeft;
	   window[pre_name+'lastY']=this.scrollTop;
	   var orz=window[pre_name+'endmovetime']-window[pre_name+'startmovetime'];       
	   if(orz>=15){
		 orz=0;    
		 window[pre_name+'paperdown']=0; 
		 window[pre_name+'motion']=0;    
	   }
	   else
	   {
		 orz=15-orz;                                
		 window[pre_name+'motion']=1;
		 $("#"+domid).animate({ 
		   'scrollLeft':(window[pre_name+'lastX']+(window[pre_name+'lastX']-window[pre_name+'moveSX'])/0.1),
		   'scrollTop':(window[pre_name+'lastY']+(window[pre_name+'lastY']-window[pre_name+'moveSY'])/0.05)
		 },{
			duration:orz*100,
			query:false,
			complete:function(){
			window[pre_name+'paperdown']=0;
			window[pre_name+'motion']=0;			                 					 	
		   }
		 });
	   }   
    });
    $("#"+domid).mousemove(function(event){
      if(window[pre_name+'paperdown']==1&&window[pre_name+'motion']==0)
      {
        window[pre_name+'startmovetime']=new Date().getTime();
        window[pre_name+'moveSX']=this.scrollLeft;
        window[pre_name+'moveSY']=this.scrollTop;
                
        this.scrollLeft-=(event.pageX-window[pre_name+'moveX']);
        this.scrollTop-=(event.pageY-window[pre_name+'moveY']);
        window[pre_name+'moveX']=event.pageX;
        window[pre_name+'moveY']=event.pageY;

        /*if(this.scrollTop==0)
        {
			this.scrollTop=parseInt(str_replace('px','',this.scrollHeight))-parseInt(str_replace('px','',$("#TABLE_TR").css('height')));			
		}
		if(this.scrollTop+parseInt(str_replace('px','',$("#TABLE_TR").css('height')))-2==parseInt(str_replace('px','',this.scrollHeight)))
		{
			this.scrollTop=1;
		}*/
      }
    });
}

function disableEnterKey(e)
{
     var key;

     if(window.event)
          key = window.event.keyCode;     //IE
     else
          key = e.which;     //firefox

     if(key == 13)
          return false;
     else
          return true;
}

