String.prototype.trim=function(){
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.ltrim=function(){
    return this.replace(/(^\s*)/g,"");
}
String.prototype.rtrim=function(){
    return this.replace(/(\s*$)/g,"");
}

var step=1;
function animLoading()
{

    butt=tempbutton;
    step++;
    if (step == 9) step = 1;
    if (step <= 2)
    {
        window.status = button_status+'.   ';
        butt.value = button_status+'.   ';
    }
    else if (step <= 4)
    {
        window.status = button_status+'..  ';
        butt.value= button_status+'..  ';
    }
    else if (step <= 6)
    {
        window.status = button_status+'... ';
        butt.value = button_status+'... ';
    }
    else 
    {
        window.status = button_status+'....';
        butt.value = button_status+'....';
    }
    setTimeout("animLoading()", 200);
}

function createOptions(obj, menu, value) 
{
    for (var i=0; i<menu.length; i++) {
        obj.options[i] = new Option(menu[i], value[i]);
    }
}

function selectOption(obj, values, value)
{
    var selectIndex = 0;
    for (var i=0; i<values.length; i++) {
        if (values[i] == value) {
            selectIndex = i;
            break;
        }
    }
    obj.options[selectIndex].selected = true;
    return selectIndex;
}


function getDomainExt(domain) 
{
    domain = domain.trim();
    var pos = domain.lastIndexOf(".");
    if (pos == -1) return domain.toLowerCase();
    return domain.substring(pos+1).toLowerCase();
}


function isDomain(domain)
{
    var pattern =  /^[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
    if (!pattern.exec(domain)) {
        return false;
    }
    return true;
}

function isDomainPre(domain_pre)
{
    var pattern =  /^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$/;
    if (!pattern.exec(domain_pre)) {
        return false;
    }
    return true;
}


function changeButtonStatus(butt, val)
{
    if (val==true) {
        butt.attr("class", "frmButton");
        butt.attr("disabled", false);
    }
    else {
        butt.attr("class", "frmButton-disable");
        butt.attr("disabled", true);
    }
}


//opens a new window
function OpenInNewWindowMaximize(url)
{
    windowname = OpenInNewWindow(url);
    windowname.moveTo(0, 0);
    windowname.resizeTo(screen.availWidth, screen.availHeight);
}

function OpenInNewWindow(url)
{
    today = new Date()
    return window.open(url, "viewdetails" + today.getMilliseconds(), "width=1024, height=700, left=12, top=12, menubar=yes, status=yes, scrollbars=yes, resizable=yes")
}

function isNumeric(sText)
{
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;

    for (i = 0; i < sText.length && IsNumber == true; i++)
    {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1)
        {
            IsNumber = false;
        }
    }
    return IsNumber;
}


/**
 * 将日期对象转成 YYYY-mm-dd格式
 * @param
 *     object date d
 * @return 
 *      string 
 */
function date2str(d)
{
    var year;
    var ret;
    year = d.getYear() + 1900;
    ret = year + "-";  
    ret+=("00"+(d.getMonth()+1)).slice(-2) + "-";
    ret+=("00"+d.getDate()).slice(-2);
    return  ret;
}

function changeImageChallenge(){
   var icImgSrc = "/Images/CreateImage";
   var now = new Date();
   var icImg = document.getElementById("image-challenge");
   icImg.src = icImgSrc + "&t=" + now.getTime();
}

function flashView(flashName, iWidth, iHeight, iAlign){
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
	 + '" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + iWidth + '" height= "' + iHeight + '" align= "' + iAlign
	 + '" ><param name="movie" value="' + flashName
	 + '" ><param name="wmode" value="transparent"'
	 + '" ><param name="quality" value="high"><param name="menu" value="false">'
	 + '<embed src="' +  flashName
     + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"'
	 + '" width="' + iWidth  + '" height= "' + iHeight + '"></embed></object>');
}
function loadUrlInNewWindow(url, form)
{
    loadUrlInNewWindow(url, form, false);
}
function loadUrlInNewWindow(url, form, openCompleteWindow)
{
    today = new Date()
    var link = url;

    for (i = 1; i <= form.length; i++)
    {
        if (form.elements[i - 1].type != "button" && form.elements[i - 1].type != "submit")
        {
            if (form.elements[i - 1].type == "radio")
            {
                if (form.elements[i - 1].checked == true)
                    link = link + "&" + form.elements[i - 1].name + "=" + form.elements[i - 1].value;
            }
            else if (form.elements[i - 1].type == "select-multiple")
            {
                for (j = 0; j < form.elements[i - 1].options.length; j++) {
                    if (form.elements[i - 1].options[j].selected == true)
                        link = link + "&" + form.elements[i - 1].name + "=" + form.elements[i - 1].options[j].value;
                }
            }
            else
                link = link + "&" + form.elements[i - 1].name + "=" + form.elements[i - 1].value;
        }
    }

    if (openCompleteWindow == true)
    {
        window.open(link, "viewdetails" + today.getMilliseconds());
    }
    else
    {
        window.open(link, "viewdetails" + today.getMilliseconds(), "width=770,height=500,left=150,top=100,menubar=yes,status=yes,scrollbars=yes,resizable=yes")
    }
    return true;
}

// 检查只能是中文字符
function checkChinese(value)
{
    if (!/^[\u4e00-\u9fa5]{1}$/ig.test(value))
    {
        return false;
    }
    return true;
}


function loadUrl(url, form, target)
{
    //alert("URL "+url +" form "+form);
	if(!target) {
		target = '';
	}
    var link = url;
    //      alert("No. of elements "+form.length);
    /* for(i=1;i<=form.length;i++)
   {
          //alert("Adding "+form.elements[i-1].name);
           //alert("Adding followed Value "+form.elements[i-1].value +" type "+form.elements[i-1].type);

          if (form.elements[i-1].type != "button")
          {
               link = link+"&"+form.elements[i-1].name+"="+form.elements[i-1].value;
          }
   } */
    //alert("FINAL LINK "+link);
    //self.location.href=link;
    form.action = url;
	form.target = target;
    //alert(form.action);
    form.submit();


    //self.location.href=url;
    return true;
}

function printf(fstring)
  { var pad = function(str,ch,len)
      { var ps='';
        for(var i=0; i<Math.abs(len); i++) ps+=ch;
        return len>0?str+ps:ps+str;
      }
    var processFlags = function(flags,width,rs,arg)
      { var pn = function(flags,arg,rs)
          { if(arg>=0)
              { if(flags.indexOf(' ')>=0) rs = ' ' + rs;
                else if(flags.indexOf('+')>=0) rs = '+' + rs;
              }
            else
                rs = '-' + rs;
            return rs;
          }
        var iWidth = parseInt(width,10);
        if(width.charAt(0) == '0')
          { var ec=0;
            if(flags.indexOf(' ')>=0 || flags.indexOf('+')>=0) ec++;
            if(rs.length<(iWidth-ec)) rs = pad(rs,'0',rs.length-(iWidth-ec));
            return pn(flags,arg,rs);
          }
        rs = pn(flags,arg,rs);
        if(rs.length<iWidth)
          { if(flags.indexOf('-')<0) rs = pad(rs,' ',rs.length-iWidth);
            else rs = pad(rs,' ',iWidth - rs.length);
          }    
        return rs;
      }
    var converters = new Array();
    converters['c'] = function(flags,width,precision,arg)
      { if(typeof(arg) == 'number') return String.fromCharCode(arg);
        if(typeof(arg) == 'string') return arg.charAt(0);
        return '';
      }
    converters['d'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,arg); 
      }
    converters['u'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,Math.abs(arg)); 
      }
    converters['i'] =  function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = ((Math.abs(arg)).toString().split('.'))[0];
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        return processFlags(flags,width,rs,arg); 
      }
    converters['E'] = function(flags,width,precision,arg) 
      { return (converters['e'](flags,width,precision,arg)).toUpperCase();
      }
    converters['e'] =  function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toExponential(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs.replace(/^(.*)(e.*)$/,'$1.$2');
        return processFlags(flags,width,rs,arg);        
      }
    converters['f'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toFixed(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs + '.';
        return processFlags(flags,width,rs,arg);
      }
    converters['G'] = function(flags,width,precision,arg)
      { return (converters['g'](flags,width,precision,arg)).toUpperCase();
      }
    converters['g'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        absArg = Math.abs(arg);
        rse = absArg.toExponential();
        rsf = absArg.toFixed(6);
        if(!isNaN(iPrecision))
          { rsep = absArg.toExponential(iPrecision);
            rse = rsep.length < rse.length ? rsep : rse;
            rsfp = absArg.toFixed(iPrecision);
            rsf = rsfp.length < rsf.length ? rsfp : rsf;
          }
        if(rse.indexOf('.')<0 && flags.indexOf('#')>=0) rse = rse.replace(/^(.*)(e.*)$/,'$1.$2');
        if(rsf.indexOf('.')<0 && flags.indexOf('#')>=0) rsf = rsf + '.';
        rs = rse.length<rsf.length ? rse : rsf;
        return processFlags(flags,width,rs,arg);        
      }  
    converters['o'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = Math.round(Math.abs(arg)).toString(8);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0'+rs;
        return processFlags(flags,width,rs,arg); 
      }
    converters['X'] = function(flags,width,precision,arg)
      { return (converters['x'](flags,width,precision,arg)).toUpperCase();
      }
    converters['x'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        arg = Math.abs(arg);
        var rs = Math.round(arg).toString(16);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0x'+rs;
        return processFlags(flags,width,rs,arg); 
      }
    converters['s'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = arg;
        if(rs.length > iPrecision) rs = rs.substring(0,iPrecision);
        return processFlags(flags,width,rs,0);
      }
    farr = fstring.split('%');
    retstr = farr[0];
    fpRE = /^([-+ #]*)(\d*)\.?(\d*)([cdieEfFgGosuxX])(.*)$/;
    for(var i=1; i<farr.length; i++)
      { fps=fpRE.exec(farr[i]);
        if(!fps) continue;
        if(arguments[i]!=null) retstr+=converters[fps[4]](fps[1],fps[2],fps[3],arguments[i]);
        retstr += fps[5];
      }
    return retstr;
  }
  
function ValidateForm(form, emailID, errmsg)
{
            if (echeck(emailID.value, errmsg) == false)
            {
                emailID.value = ""
                emailID.focus()
                return false
            }
            return true
}

function echeck(str, errmsg)
{
	var dot_pos=str.indexOf(".");
	var str_length=str.length;
	if(dot_pos == -1) {
		alert(errmsg);
		return false;
	}
	return true;
/*
    var at = "@"
    var dot = "."
    var lat = str.indexOf(at)
    var lstr = str.length
    var ldot = str.indexOf(dot)
   if (str.indexOf(at) == -1)
    {
        alert(errmsg)
        return false
    }
    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr)
    {
        alert(errmsg)
        return false
    }

    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr)
    {
        alert(errmsg)
        return false
    }

    if (str.indexOf(at, (lat + 1)) != -1)
    {
        alert(errmsg)
        return false
    }

    if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot)
    {
        alert(errmsg)
        return false
    }

    if (str.indexOf(dot, (lat + 2)) == -1)
    {
        alert(errmsg)
        return false
    }

    if (str.indexOf(" ") != -1)
    {
        alert(errmsg)
        return false
    }

    return true
*/
}
