﻿// JScript File
//----------------------------------------------------Share function-----------------------------------------//
//check char is number
function IsNumeric(c)
{
var c_code = c.charCodeAt(0);
var charcode_0 = '0'.charCodeAt(0);
var charcode_9 = '9'.charCodeAt(0);
return (c_code >= charcode_0 && c_code <= charcode_9);
}
//check char is letter
function IsLetter(c)
{
    var c_code = c.charCodeAt(0);
    var charcode_A = 'A'.charCodeAt(0);
    var charcode_z = 'z'.charCodeAt(0);
    return (c_code >= charcode_A && c_code <= charcode_z);
}

function isEmailList(str)
{
    var strSet = str.split(",");
    var flag = true;
    var i =0;
    while ((i < strSet.length) && flag)
    {
        if (!isEmail(strSet[i]))
            flag = false;
        i++;
    }
    return flag;
}

//check email format
function isEmail(mail) {
   // checks for a vaild email
   // returns 1 for invalid addresses
   // returns 0 for valid addresses
   var atCnt = 0;
   var flag = true;
   
   if (Trim(mail) != "")
   {
       // chk length
       if (mail.length < 5) 
          // a@b.c should be the shortest an
          flag = false;  
       //has at least one "@"
       else if (mail.indexOf('@')==-1)
          flag = false; 
       // has at least one "."
       else if (mail.indexOf('.')==-1)
           flag = false; 
       //has min 3 chars after last "."
       else if (mail.length - (mail.lastIndexOf('.')+1) < 2)
           flag = false; 
       //has no "_" after the "@"
       else if ((mail.indexOf('_')!=-1) && (mail.lastIndexOf('_') > mail.lastIndexOf('@')))
          flag = false;
       //has no char '@' after '.'
       else if (mail.lastIndexOf('@') > mail.lastIndexOf('.'))
          flag = false;
       //between '@' and '.' must has min 3 char
       else if (mail.lastIndexOf('.')-mail.lastIndexOf('@')<4)
          flag = false;
       else
       {   
          //has only one "@"     
          var len = mail.length;
          var atCnt = 0;
          for(i = 0; i < len; i++)		
             if (mail.charAt(i) == '@') 
                atCnt++;
          
          if (atCnt > 1)
             flag = false;
             
          //chk each char for validity     
         for (i=0; i<len; i++) 
         {
		     c = mail.charAt(i);
             if (			
			    (!IsNumeric(c)) && (!IsLetter(c)) && (c != '_') && (c != '.') && (c != '@') && (c != '-')				
			    )     
                flag = false;        
	     }
       }
   }
  return flag;
}
//remove blank
function Trim(s)
{
	return s.replace(/(^\s*)|(\s*$)/g, "");
}

function isMatch(value1, value2)
{
    if (Trim(value1) == Trim(value2))
        return true;
    else
        return false;
}

function displayElementErrors(oElement, sErrors)
{
	if (sErrors)
	{
	    if(navigator.appName.indexOf("Microsoft Internet Explorer")>(-1))
	    {
		    var oPopup = oElement.document.parentWindow.createPopup();
		    oElement.document.parentWindow.oElementErrorPopup = oPopup;
		    with (oPopup.document.body.style)
		    {
			    border = "1px solid black";
			    borderLeftColor = borderTopColor = "#ff8888";
			    paddingLeft = "3px";
			    background = "red";
			    color = "white";
			    font = "11px Arial";
		    }
		    var o = oPopup.document.createElement("nobr");
		    o.innerText = sErrors;
		    oPopup.document.body.appendChild(o)
		    oPopup.show(0, 0, 0, 0);
		    oPopup.show(0, oElement.offsetHeight,
				            Math.max(oElement.offsetWidth, o.offsetWidth + 8),
					          o.offsetHeight + 4, oElement);
        }
        oElement.title = "";
	}
}

function onFocus(oElement)
{
	if (oElement.title != "")
	    displayElementErrors(oElement,oElement.title);
}

function addError(element, sError)
{   
    element.style.border = "1px solid red";	
    element.title = sError;
}

function removeError(element)
{
	element.style.border = "1px solid #A4B97F";	
	element.title = "";
}

function isAllowUser(tb1)
{
    var flag = true;
    var username = tb1.value.toLowerCase();
    if (username.indexOf("admin")!= -1) {
	    addError(tb1,"Can\'t use \'admin\' in usename");
		flag = false;
		return flag;
	}
	else 
	{	      
	    var str = username.split("_");
	    if (str.length == 2 && str[0] == "mm")
	    {
	        var color = "red,blue,yellow,green,white,violet,silver,purple,orange,maroon,gray,pink,gold,dark,brown,black";
            var colorSet = color.split(",");           
            for (var i=0;i<=colorSet.length - 1;i++)
            {
                if (str[1] == colorSet[i])
                {
                    addError(tb1,"can\'t use this usename");
		            flag = false;
		            return flag;
                }
            }
	    }	    
	}
	return flag;
}

function removeAllError()
{    
	with (document.getElementsByTagName('input'))
	for (var i = 0; i < length; ++i)
	{
		oElement = item(i);
		if (oElement.type == "text" || oElement.type == "password")
		    removeError(oElement);
	}
	with (document.getElementsByTagName('textarea'))
	for (var i = 0; i < length; ++i)
	{
		oElement = item(i);		
		removeError(oElement);
	}
	
}
//----------------------------------------end Share function------------------------------------------------//
//----------------------------------------page validate-----------------------------------------------------//
function ValidateForMemberAct_Register(txt1, txt2, txt3, txt4, txt5, b1, b2)
{
    //textbox
	var tb1 = document.getElementById(txt1);
	var tb2 = document.getElementById(txt2);
	var tb3 = document.getElementById(txt3);
	var tb4 = document.getElementById(txt4);
	var tb5 = document.getElementById(txt5);
	var tbFirst = null;
	//button
	var bt1 = document.getElementById(b1);
	var bt2 = document.getElementById(b2);
	var btHide = document.getElementById(b1+"Hide");
	
	var flag = true;	
	
	removeAllError();	
	
	//username
	if (tb1.value == '') {			
        addError(tb1,"UserName required.");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb1;
	} 
	else if (tb1.value.length < 3 || tb1.value.length > 16) {	    		
        addError(tb1,"Length must 3-16.");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb1;
	}
	else if (!isAllowUser(tb1)) {	    
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb1;
	}
	
	//password
	if (tb2.value == '') {              
        addError(tb2,"Password required.");
        flag = false;
        if (tbFirst==null)
		    tbFirst = tb2;
	}
	else if (tb2.value.length < 4 || tb2.value.length > 16) {	    		
        addError(tb2,"Length must 4-16.");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb2;
	}
	
	//password confirm
	if (tb3.value == '') {		
		addError(tb3,"Confirm requried");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb3;
	}
	else if (!isMatch(tb2.value,tb3.value)) {	    		
        addError(tb3,"Confirm mismatch.");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb3;
	}
	
	//email  
	if (tb4.value == '') {		
		addError(tb4,"E-mail requried");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb4;
	}
	else if (!isEmail(Trim(tb4.value))) {	    		
        addError(tb4,"Invalid format.");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb4;
	}
	
	//email confirm
	if (tb5.value == '') {		
		addError(tb5,"Confirm requried");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb5;
	}
	else if (!isEmail(Trim(tb5.value))) {	    		
        addError(tb5,"Invalid format.");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb5;
	}
	else if (!isMatch(tb4.value,tb5.value)) {	    		
        addError(tb5,"Confirm mismatch.");
		flag = false;
		if (tbFirst==null)
		    tbFirst = tb5;
	}
	
	if (flag)
	{
	    bt1.disabled = true;
	    bt2.disabled = true;
	    btHide.click();
	    return true;
	}
	else
	{
	    tbFirst.focus();
        return flag;	
    }
}
function ValidateForContactUs(txt1, txt2, txt3, txt4, txt5, b1, b2)
{
    //textbox
	var tb1 = document.getElementById(txt1);
	var tb2 = document.getElementById(txt2);
	var tb3 = document.getElementById(txt3);
	var tb4 = document.getElementById(txt4);
	var tb5 = document.getElementById(txt5);
	var tbFirst = null;
	//button
	var bt1 = document.getElementById(b1);
	var bt2 = document.getElementById(b2);
	var btHide = document.getElementById(b1+"Hide");
	
	var flag = true;	
	
	removeAllError();
	
	if (tb1.value == '') {			
        addError(tb1,"Name required.");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb1;
	} 
	
	if (tb2.value == '') {              
        addError(tb2,"E-Mail required.");
        flag = false;
        if (tbFirst == null)
            tbFirst = tb2;
	}
	else if (!isEmail(Trim(tb2.value))) {	    		
        addError(tb2,"Invalid format.");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb2;
	}
	
	if (tb3.value == '') {		
		addError(tb3,"Subject requried");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb3;
	}  
	if (tb4.value == '') {		
		addError(tb4,"Detail requried");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb4;
	}
	if (tb5.value == '') {		
		addError(tb5,"Verifier requried");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb5;
	}
	
	if (flag)
	{
	    bt1.disabled = true;
	    bt2.disabled = true;
	    btHide.click();	 
	    return true;
	}
	else
	{
	    tbFirst.focus();
        return flag;	
    }
}
function ValidateForSendMail(txt1, txt2, txt3, txt4, txt5, txt6, b1, b2)
{
    //textbox
	var tb1 = document.getElementById(txt1);
	var tb2 = document.getElementById(txt2);
	var tb3 = document.getElementById(txt3);
	var tb4 = document.getElementById(txt4);
	var tb5 = document.getElementById(txt5);
	var tb6 = document.getElementById(txt6);
	var tbFirst = null;
	//button
	var bt1 = document.getElementById(b1);
	var bt2 = document.getElementById(b2);
	var btHide = document.getElementById(b1+"Hide");
	
	var flag = true;	
	
	removeAllError();
	
	if (tb1.value == '') {			
        addError(tb1,"Company name required.");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb1;
	}
	
	if (tb2.value == '') {              
        addError(tb2,"Name required.");
        flag = false;
        if (tbFirst == null)
            tbFirst = tb2;
	}	
	
	if (tb3.value == '') {		
		addError(tb3,"Product List requried");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb3;
	}
	
	if (tb4.value == '') {		
		addError(tb4,"phone number requried");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb4;
	}
	
	if (tb5.value == '') {		
		addError(tb5,"Fax requried");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb5;
	}
	
	if (tb6.value == '') {		
		addError(tb6,"Email requried");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb6;
	}
	else if (!isEmail(tb6.value)){
	    addError(tb6,"Invlid Format");
		flag = false;
		if (tbFirst == null)
            tbFirst = tb6;
	}
	
	if (flag)
	{
	    bt1.disabled = true;
	    bt2.disabled = true;
	    btHide.click();	 
	    return true;
	}
	else
	{
	    tbFirst.focus();
        return flag;	
    }
}
function ValidateForMemberAct_LogIn(txt1,txt2, b1)
{
    //textbox
	var tb1 = document.getElementById(txt1);
	var tb2 = document.getElementById(txt2);
	//button
	var bt1 = document.getElementById(b1);
	var btHide = document.getElementById(b1+"Hide");
	
	//check flag	
	var flag = true;	
	
	removeError(tb1);
	removeError(tb2);
	
	//username
	if (tb1.value == '') {			
        addError(tb1,"UserName required.");
		flag = false;
	} 
	else if (tb1.value.length < 3 || tb1.value.length > 16) {	    		
        addError(tb1,"Length must 3-16.");
		flag = false;
	}
	
	if (tb2.value == '') {			
        addError(tb2,"Password required.");
		flag = false;
	} 
	else if (tb2.value.length < 3 || tb2.value.length > 16) {	    		
        addError(tb2,"Length must 3-16.");
		flag = false;
	}	
	
	if (flag)
	{	    
	    bt1.disabled = true;
	    btHide.click();
	    return true;
	}
    return flag;	
}
//------------------------------------end page validate-----------------------------------------------------//
