<!--
/**********************************************************************************   
ScrollText 
*   Copyright (C) 2001 <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a>
*   This script was released at DHTMLCentral.com
*   Visit for more great scripts!
*   This may be used and changed freely as long as this msg is intact!
*   We will also appreciate any links you could give us.
*
*   Made by <a href="/dhtmlcentral/thomas_brattli.asp">Thomas Brattli</a> 
*********************************************************************************/

function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf("Opera 5")>-1
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}
var bw=new lib_bwcheck()


/*****************

You set the width and height of the divs inside the style tag, you only have to
change the divScrollTextCont, Remember to set the clip the same as the width and height.
You can remove the divUp and divDown layers if you want. 
This script should also work if you make the divScrollTextCont position:relative.
Then you should be able to place this inside a table or something. Just remember
that Netscape crash very easily with relative positioned divs and tables.

Updated with a fix for error if moving over layer before pageload.

****************/


//If you want it to move faster you can set this lower, it's the timeout:
var speed = 30
var loopCount = 0;
//Sets variables to keep track of what's happening
var loop, timer

//Object constructor
function makeObj(obj,nest){
    nest=(!nest) ? "":'document.'+nest+'.'
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
	this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
	this.up=goUp;this.down=goDown;
	this.moveIt=moveIt; this.x=0; this.y=0;
    this.obj = obj + "Object"
    eval(this.obj + "=this")
    return this
}

// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

function moveIt(x,y){
	this.x = x
	this.y = y
	this.css.left = this.x+px
	this.css.top = this.y+px
}

//Makes the object go up
function goDown(move){
	//alert(this.y + " => " + this.scrollHeight + " => " + oCont.clipHeight + " = > " + loopCount);
	if (this.y>-this.scrollHeight+oCont.clipHeight){
		loopCount = 1;
		this.moveIt(0,this.y-move)
		if (loop) setTimeout(this.obj+".down("+move+")",speed)
	}
	else if(loopCount > 0){
	  this.moveIt(0,0)
      scroll(1);
	}
}

//Makes the object go down
function goUp(move){
	if (this.y<0){
		this.moveIt(0,this.y-move)
		if (loop) setTimeout(this.obj+".up("+move+")",speed)
	}
}

//Calls the scrolling functions. Also checks whether the page is loaded or not.
function scroll(speed){
	if (scrolltextLoaded){
		loop = true;
		if (speed>0) oScroll.down(speed)
		else oScroll.up(speed)
	}
}

//Stops the scrolling (called on mouseout)
function noScroll(){
	loop = false
	if (timer) clearTimeout(timer)
}

//Makes the object
var scrolltextLoaded = false
function scrolltextInit(){
	oCont = new makeObj('divScrollTextCont')
	oScroll = new makeObj('divText','divScrollTextCont')
	oScroll.moveIt(0,0)
	oCont.css.visibility = "visible"

    if (bw.ns6){
      oCont.css.top = 130 + "px";
	}
	else{
      oCont.css.top = 150 + "px";
	}
	scrolltextLoaded = true
    scroll(1);
}
//Call the init on page load if the browser is ok...
//if (bw.bw) onload = scrolltextInit

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function changeFormValue(formName, itemName, value){
  var str_action =  "document."+ formName + "." + itemName + "='"+ value + "';";   
  eval(str_action);  
}

/*Check registration*/
function checkMyaccount(form){
  var message=""; 
  if(form.name.value=="")
    message = message + "請輸入你的姓名!\n";
  if(form.password.value=="")
    message = message + "請輸入你的密碼!\n" ;   
  if(form.cpassword.value=="")
    message = message + "請輸入確認密碼!\n";  
  if(form.telephone.value=="")
    message = message + "請輸入你的電話號碼!\n";         
  if(form.countryId.value=="")
    message = message + "請選擇你的國家/地區!\n";        
  if(form.email.value=="")
    message = message + "請輸入你的電郵!\n";         
  if(form.password.value!= form.cpassword.value)    
    message = message + "請輸入相同的確認密碼和密碼!\n";     
  if(form.age.value!= "" && isNaN(form.age.value))    
    message = message + "年齡必須是數字!\n";     
  //if(form.CheckCode.value=="")
  //  message = message + "請輸入驗證碼!\n";         
    
  if(message=="")
    return true;
  else{
    alert(message);
    return false;
  }
}
/*Check login*/
function checkLogin(form){
  var message=""; 

  if(form.email.value=="")
    message = message + "請輸入你的電郵!\n";
  if(form.password.value=="")
    message = message + "請輸入你的密碼!\n" ;   
  
  if(message=="")
    return true;
  else{
    alert(message);
    return false;
  }
}


function checkContact(){
  var message="";
  if(document.contact.name.value=="")
    message = message + "請輸入你的姓名!\n";  
  if(document.contact.clientEmail.value=="")
    message = message + "請輸入你的電郵!\n";
  if(document.contact.message.value=="")
    message = message + "請輸入你的意見!\n" ;   
  
  if(message=="")
    return true;
  else{
    alert(message);
    return false;
  }
}

function checkReceiver(){
  var message="";
  if(document.cart.receiverName.value=="")
    message = message + "請輸入收貨人的姓名!\n";  
  if(document.cart.receiverTelephone.value=="")
    message = message + "請輸入收貨人的電話!\n";
  if(document.cart.receiverAddress.value=="")
    message = message + "請輸入收貨人的地址!\n" ;   
  if(document.cart.receiverCountryId.value=="")
    message = message + "請輸入收貨人的國家!\n" ;   
  
  if(message=="")
    return true;
  else{
    alert(message);
    return false;
  }
}

var intBannerCount=0, intCounter=0, intTBCounter=0, intervalTime=11000, intTBCount=0;
var strImagePath = "../../image/products/";
var strTopBannerPath = "../../image/banners/"
//Banner class
function banner(strImageField,strImage,strLinkField,strLnk,strAlt,intWidth,intHeight,strForm, strTitleField,strTitle,strPriceField,dclPrice) {
	this.imageField = strImageField;
	this.image = strImage;
	this.linkField = strLinkField;
	this.link = strLnk;
	this.alt = strAlt;
	this.width = intWidth;
	this.height = intHeight;
	this.form = strForm;
	this.titleField = strTitleField;
	this.title = strTitle;
	this.priceField = strPriceField;
	this.price = dclPrice;
}

function changeNewProducts() {
  var strAction = "", objBanner="", i, strName;
  
  if (++intCounter == newProducts.length)
    intCounter = 0;
  objBanner = newProducts[intCounter];

  //Change image field value
  if(objBanner.imageField!="") {
    strAction = 'document.' + objBanner.imageField + '.src="' + strImagePath + objBanner.image + '"';
	eval(strAction);
    strAction = 'document.' + objBanner.imageField + '.alt="' + objBanner.alt + '"';
	eval(strAction);
  }

  //Change link field value
  if(objBanner.linkField!="") {
    for(i=0; i<document.links.length; i++){
	  strName = document.links[i].name;
	  //alert(strLink);
      if(strName == objBanner.linkField)
        document.links[i].href = objBanner.link;	  
    }
  }

  //Change title field value
  if(objBanner.titleField!="") {
    strAction = 'document.' + objBanner.form + "." + objBanner.titleField + '.value="' + objBanner.title + '"';
	eval(strAction);
  }

  //Change price field value
  if(objBanner.priceField!="") {
    strAction = 'document.'  + objBanner.form + "." +  objBanner.priceField + '.value="' + objBanner.price + '"';
	eval(strAction);
  }

  // change to data according to intervalTime
   setTimeout("changeNewProducts()", intervalTime);
}

function changeTopBanners() {
  var strAction = "", objBanner="", i, strName;
  
  if (++intTBCounter == topBanners.length)
    intTBCounter = 0;
  objBanner = topBanners[intTBCounter];

  //Change image field value
  if(objBanner.imageField!="") {
    strAction = 'document.' + objBanner.imageField + '.src="' + strTopBannerPath + objBanner.image + '"';
	eval(strAction);
    strAction = 'document.' + objBanner.imageField + '.alt="' + objBanner.alt + '"';
	eval(strAction);
  }

  //Change link field value
  if(objBanner.linkField!="") {
    for(i=0; i<document.links.length; i++){
	  strName = document.links[i].name;
	  //alert(strLink);
      if(strName == objBanner.linkField)
        document.links[i].href = objBanner.link;	  
    }
  }

  //Change title field value
  if(objBanner.titleField!="") {
    strAction = 'document.' + objBanner.form + "." + objBanner.titleField + '.value="' + objBanner.title + '"';
	eval(strAction);
  }

  //Change price field value
  if(objBanner.priceField!="") {
    strAction = 'document.'  + objBanner.form + "." +  objBanner.priceField + '.value="' + objBanner.price + '"';
	eval(strAction);
  }

  // change to data according to intervalTime
   setTimeout("changeTopBanners()", intervalTime);
}

function setBannerLink(banners, strTarget, strLink){
  var objBanner="";
  objBanner = banners[intCounter];
  if(strTarget=="parent")
    document.location.href = objBanner.link;
  else
    window.open(objBanner.link,"","")    
}

function startBanner(strLinkTarget, strImageField, strImageName, strAlt, intWidth, intHeight, strTitle, dclPrice){
  var strBanner = "";
  strBanner="<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"body_text_c\">";
  strBanner +="     <tr>";
  strBanner +="     <td colspan=\"2\"><input type=\"hidden\" name=\"title\" style=\"border: 0px solid; width: 200px; height:50px; font-size: 11pt;background-color: transparent;\" value=\"" + strTitle + "\"></td>"
  strBanner +="     </tr>";
  strBanner +="     <tr>";
  strBanner +="        <td width=\"110\" valign=\"top\"><a name=\"bannerLink\" href=\"#\"><img name=\"" +strImageField + "\" src=\"" + strImagePath + strImageName + '"';
  if(strAlt != "")
    strBanner += ' alt="' + strAlt + '"';
  if(intWidth != "")
    strBanner += ' width="' + intWidth + '"';
  if(intHeight != "")
    strBanner += ' height="' + intHeight + '"';
  strBanner += " border=\"0\" onclick=\"setBannerLink(newProducts," + strLinkTarget + ",'')\"></a></td>";
  strBanner +="      <td valign=\"top\"><br>";
  strBanner +="          <font color=\"#FF0000\">會員價:<br>HK$<input type=\"text\" style=\"border: 0px solid; width: 40px; font-size: 11pt;background-color: transparent;color:#FF0000;\" name=\"price\" value=\"" +dclPrice+ "\"></font>";
  strBanner +="      </td>";
  strBanner +="    </tr>";
  strBanner +="    </table>";  
  document.write(strBanner); 
}

function startTopBanner(strLinkTarget, strImageField, strImageName, strAlt, intWidth, intHeight, strTitle, dclPrice){
  var strBanner = "";
  strBanner="<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"body_text_c\">";
  strBanner +="     <tr>";
  strBanner +="        <td valign=\"top\"><a name=\"topBannerLink\" href=\"#\" target=\"_blank\"><img name=\"" +strImageField + "\" src=\"" + strTopBannerPath + strImageName + '"';
  if(strAlt != "")
    strBanner += ' alt="' + strAlt + '"';
  if(intWidth != "")
    strBanner += ' width="' + intWidth + '"';
  if(intHeight != "")
    strBanner += ' height="' + intHeight + '"';
  strBanner += " border=\"0\" onclick=\"setBannerLink(topBanners," + strLinkTarget + ",'')\"></a></td>";
  strBanner +="    </tr>";
  strBanner +="    </table>";  
  document.write(strBanner); 
}

function submitForm(strFormName){
  var strAction="";

  strAction = "document." + strFormName + ".submit()";
  eval(strAction);
}
//-->
