function trim(str){
	return str.replace(/\s/g,"");
}

function isEmptyValue(obj){
  return obj.value.replace(/\s/g,"")=="";
}

function isEmptyValueAndTip(obj, msg){
  if (isEmptyValue(obj)){
    alert(msg);
    obj.focus();
    return true;
  } else return false;
}

function isNumeric(obj){
  // only number checking
	if(obj.value.search(/[^0-9]/) != -1){
		alert('The field must contain number only');
		obj.value="";
		obj.focus();
		return false;
	} else return true;
}

function isPrice(obj){	
	if((obj.value.search(/[^0-9.]/) != -1) || (dotCheck(obj.value) > 1)){
		alert('The field must number.');
		obj.value="";
		obj.focus();
		return false;
	} else return true;
}

function dotCheck(val){
	count = 0;
	for(dot=0; dot<val.length; dot++)
	{
		if(val.substring(dot,dot+1) == '.') 
			count++;
	}
	return count;
}

function dateformat(obj){
	var f = eval(obj); 
	var f_val = f.value;
	ind1 = f_val.charAt(2);
	ind2 = f_val.charAt(5);
	if(f_val!= "" && ind1!="-" && ind2!="-")
	{
		if(f_val.length < 8)
		{
			alert("Date must have at least 8 digits (MMDDYYYY).")	
			f.focus();
		}
		else
			f.value = f_val.substring(0,2) +"-"+ f_val.substring(2,4) +"-"+ f_val.substring(4,f_val.lenght);
	}	
}

function verifyEmail(field){
	var i=0;
	var j=0;
	var str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var strchr = "!#$%^,&*()=+''?{}[]|\/:;~`";
	var strat = "@";
	var strdot = ".";
	var flag = 0;	
	var countat = 0;
	var countdt = 0;
			
	if (field.value.length < 6)
	{
		flc=1;
		alert("Not a valid E-mail address");
		field.focus();
		field.value="";
		return false;
	}
	else 
	{
		flag = 0;
			
		for(i=0; i<=field.value.length-1; i++)
		{
			if(field.value.substring(i,i+1) == strat)
			{						
				flag = 1;
				break;	
			}
			countat = countat +1;
		}
			
		if (flag == 0 ) 
		{
			flc=1;
			alert("There must be an @");
			field.focus();		
			field.value="";
			return false;
		}
		else
		{
			flag = 0;
		
			for(i=0; i<=field.value.length-1; i++)
			{
				if(field.value.substring(i,i+1) == strdot)
				{
					flag = 1;
					break;	
				}
			countdt = countdt + 1;
			}
			
			if (flag == 0 ) 
			{
				flc=1;
				alert("There must be atleast one dot");
				field.focus();				
				return false;				
			}
			else if (countdt == field.value.length - 1)
			{
				flc=1;
				alert("Not a vaild E-mail address");
				field.focus();
				field.value="";
				return false;
			}
			else if (countat == countdt-1)
			{
				flc=1;
				alert("Not a valid E-mail address VERY NEXT");
				field.focus();
				field.value="";
				return false;
			}
			else 
			{					
			 for (i=0; i<field.value.length; i++)
			 {
			 	for (j=0; j<strchr.length-1; j++)
		        {
					if (field.value.substring(i,i+1) == strchr.substring(j,j+1))
					{					
						flc=1;
						alert("Not a valid character " + strchr.substring(j,j+1));
						field.focus();
						field.value="";
						return false;
						break;
		             }
	 		   	 }
			  }
		    }																	
		}							
	}
   return true;
}

//Table Hightlight (Kunpeng Zhang 2007.10.4)
//uses: <table onMouseOver="tableHighLight(true);" OnMouseOut="tableHighLight(false);">
function tableHighLight(type){
  var highlightcolor = "",textdecoration = "";   
  if (type) { highlightcolor = "#FFDDBB"; textdecoration = "#FFC286"; }
  var e = window.event || arguments.callee.caller.arguments[0];
  var td = e.srcElement || e.target;
  var i=0; var ctd;
  while(true){
    if(td&&td.nodeName=="TD"){ctd=td;} 
    i++;
    if((td&&td.nodeName =="TR")||i>10){break;}
    if(td){td = td.parentElement||td.parentNode;}
  }
  if(td&&td.nodeName =="TR"){
    td.style.backgroundColor = highlightcolor;
    tb = td.parentElement||td.parentNode;
    if(tb&& tb.nodeName=="TBODY"){
            var tr = tb.childNodes[0]; var tds = tr.childNodes;            
            for(var j=0;j<tds.length;j++){
              if(tds[j].rowSpan>1){tds[j].style.backgroundColor = highlightcolor;}        
            }
            ctd.style.backgroundColor = textdecoration;
            return true;
    }
  }
}

/**************************************************************************/
/*   Dropdown                                                             */
/**************************************************************************/
  function getSelItem(Value, Caption){
    this.caption = Caption;
    this.value = Value;
    return this;
  }
              
  function getSelector(Items, SelectorName, SelValue, OnChangeEvent, CSS){
    var i=0;
    var itemsstr = "";
		var	cssstyle = "";
    var onchange = "";
		
    for (i=0; i<Items.length; i++){
      if (SelValue==Items[i].value)
        itemsstr = itemsstr + "<option value=\"" + Items[i].value + "\" selected>"+ Items[i].caption +"</option>"
      else
        itemsstr = itemsstr + "<option value=\"" + Items[i].value + "\">"+ Items[i].caption +"</option>";
    };
		
		if (OnChangeEvent!="") onchange= "OnChange=\"" + OnChangeEvent + "\"";
    if (CSS!="") cssstyle= "class=\""+CSS+"\"";
    var Selector = "<select name=\""+SelectorName+"\" "+ onchange + " " + cssstyle+ " >" + itemsstr + "</select>";
    return Selector;
  }
  
	var SalutationItems =  new Array(5);
	//SalutationItems[0] = new getSelItem("Dr.","Dr.");
	SalutationItems[0] = new getSelItem("Mr.","Mr.");
	SalutationItems[1] = new getSelItem("Miss.","Miss.");
	SalutationItems[2] = new getSelItem("Mrs.","Mrs.");
	SalutationItems[3] = new getSelItem("Ms.","Ms.");
	SalutationItems[4] = new getSelItem("Prof.","Prof.");
  
  /**************************************************************************/
  /*   Pop dialog window                                                    */
  /**************************************************************************/

  ///// Open New Window ///////////////////////////////////////////////////
  function openDialogWindow(aUrl, formName, formWidth, formHeight, ScrollBar, Resizable){
    var wLeft, wTop, wAttr;
    wLeft = (screen.width - formWidth) / 2;
    wTop = (screen.height - formHeight) / 2;
    wAttr ="top="+wTop+",left="+wLeft+",width="+formWidth+",height="+formHeight+",toolbar=no,menubar=no,status=no";

    if (ScrollBar)
      wAttr = wAttr + ",scrollbars=yes"
    else
      wAttr = wAttr + ",scrollbars=no"

    if (Resizable)
      wAttr = wAttr + ",resizable=yes"
    else
      wAttr = wAttr + ",resizable=no"

    myWin=window.open(aUrl, formName, wAttr);
    myWin.focus();
  }

  //Forgot Password Role -1:customer; >=0:admin and cashier
  function dialogForgetPWD(Role){
    var page = "/includes/common/forgetpwd.php?role="+Role;
    openDialogWindow(page, "ForgetPWD", 320, 165, false, false);
  }
  
  function dialogDiscount(ProductID){
    var page = "/includes/common/discountlist.php?id="+ProductID;
    openDialogWindow(page, "DiscountList", 460, 350, true, false);
  }
  
  function dialogDiscountEx(ProductName, ProductPrice, DiscountID){
    var page = "/includes/common/discountlist.php?action=custom&name="+ProductName+"&price="+ProductPrice+"&discountid="+DiscountID;
    openDialogWindow(page, "DiscountList", 460, 350, true, false);
  }
  
  function dialogShippingRate(ShippingRateID){
    var page = "/includes/common/shippingrate.php?id="+ShippingRateID;
    openDialogWindow(page, "ShippingRate", 460, 280, true, false);
  }

  //Order Invoice
	function viewOrderInvoice(OrderID, InvoiceMode){
    var page = "/includes/common/orderinvoice.php?action=view&id="+OrderID+"&invoicemode="+InvoiceMode;
    openDialogWindow(page, "OrderInvoice", 640, 600, true, false);
	} 
  
  //Goto ScurityPage
  function getScurityPage(Page){
    var HostName = window.location.hostname;
    if (HostName.indexOf("www.")==0)
      return "https://" + window.location.hostname + Page;
    else
      return "https://www." + window.location.hostname + Page;
  }

  function goScurityPage(Page){
    window.location = getScurityPage(Page);
  }