///////////////////////////////////////////////////////////////////////////////////////////////////////
// ua.js - Detect Browser
// Requires JavaScript 1.1

// work around bug in xpcdom Mozilla 0.9.1
window.saveNavigator = window.navigator;

// Handy functions
function noop() {}
function noerror() { return true; }

function defaultOnError(msg, url, line)
{
  // customize this for your site
  if (top.location.href.indexOf('/evangelism/lib/js/errors/') == -1)
    top.location = '/evangelism/lib/js/errors/index.html?msg=' + escape(msg) + '&url=' + escape(url) + '&line=' + escape(line);
}

// Display Error page...
// XXX: more work to be done here
//
function reportError(message)
{
  // customize this for your site
  if (top.location.href.indexOf('/evangelism/lib/js/errors/') == -1)
    top.location = '/evangelism/lib/js/errors/index.html?msg=' + escape(message);
}

function pageRequires(cond, msg, redirectTo)
{
  if (!cond)
  {
    msg = 'This page requires ' + msg;
    top.location = redirectTo + '?msg=' + escape(msg);
  }
  // return cond so can use in <A> onclick handlers to exclude browsers
  // from pages they do not support.
  return cond;
}

function detectBrowser()
{
  var oldOnError = window.onerror;
  var element = null;

  window.onerror = defaultOnError;

  navigator.OS    = '';
  navigator.version  = 0;
  navigator.org    = '';
  navigator.family  = '';

  var platform;
  if (typeof(window.navigator.platform) != 'undefined')
  {
    platform = window.navigator.platform.toLowerCase();
    if (platform.indexOf('win') != -1)
      navigator.OS = 'win';
    else if (platform.indexOf('mac') != -1)
      navigator.OS = 'mac';
    else if (platform.indexOf('unix') != -1 || platform.indexOf('linux') != -1 || platform.indexOf('sun') != -1)
      navigator.OS = 'nix';
  }

  var i = 0;
  var ua = window.navigator.userAgent.toLowerCase();

  if (ua.indexOf('opera') != -1)
  {
    i = ua.indexOf('opera');
    navigator.family  = 'opera';
    navigator.org    = 'opera';
    navigator.version  = parseFloat('0' + ua.substr(i+6), 10);
  }
  else if ((i = ua.indexOf('msie')) != -1)
  {
    navigator.org    = 'microsoft';
    navigator.version  = parseFloat('0' + ua.substr(i+5), 10);

    if (navigator.version < 4)
      navigator.family = 'ie3';
    else
      navigator.family = 'ie4'
  }
  else if (typeof(window.controllers) != 'undefined' && typeof(window.locationbar) != 'undefined')
  {
    i = ua.lastIndexOf('/')
    navigator.version = parseFloat('0' + ua.substr(i+1), 10);
    navigator.family = 'gecko';

    if (ua.indexOf('netscape') != -1)
      navigator.org = 'netscape';
    else if (ua.indexOf('compuserve') != -1)
      navigator.org = 'compuserve';
    else
      navigator.org = 'mozilla';
  }
  else if ((ua.indexOf('mozilla') !=-1) && (ua.indexOf('spoofer')==-1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera')==-1)&& (ua.indexOf('webtv')==-1) && (ua.indexOf('hotjava')==-1))
  {
      var is_major = parseFloat(navigator.appVersion);

    if (is_major < 4)
      navigator.version = is_major;
    else
    {
      i = ua.lastIndexOf('/')
      navigator.version = parseFloat('0' + ua.substr(i+1), 10);
    }
    navigator.org = 'netscape';
    navigator.family = 'nn' + parseInt(navigator.appVersion);
  }
  else if ((i = ua.indexOf('aol')) != -1 )
  {
    // aol
    navigator.family  = 'aol';
    navigator.org    = 'aol';
    navigator.version  = parseFloat('0' + ua.substr(i+4), 10);
  }

  navigator.DOMCORE1  = (typeof(document.getElementsByTagName) != 'undefined' && typeof(document.createElement) != 'undefined');
  navigator.DOMCORE2  = (navigator.DOMCORE1 && typeof(document.getElementById) != 'undefined' && typeof(document.createElementNS) != 'undefined');
  navigator.DOMHTML  = (navigator.DOMCORE1 && typeof(document.getElementById) != 'undefined');
  navigator.DOMCSS1  = ( (navigator.family == 'gecko') || (navigator.family == 'ie4') );

  navigator.DOMCSS2   = false;
  if (navigator.DOMCORE1)
  {
    element = document.createElement('p');
    navigator.DOMCSS2 = (typeof(element.style) == 'object');
  }

  navigator.DOMEVENTS  = (typeof(document.createEvent) != 'undefined');

  window.onerror = oldOnError;
}

detectBrowser();

// ua.js - Detect Browser
///////////////////////////////////////////////////////////////////////////////////////////////////////

var BROWSER_NS = (navigator.org == "netscape")? true:false;
var BROWSER_NSold = (BROWSER_NS && (parseFloat(navigator.appVersion) < 6.0));

function getAltLangURL(){
	var strPathName = new String(self.document.location.href)
	if (strPathName.search("chinese") > 0) {
		return strPathName.replace(/chinese/g, "english");
	} else {
		return strPathName.replace(/english/g, "chinese");
	}
	return strPathName;
}

var windowHandle = null;

// open popup window
function openWindow(url, w, h, name, menu, resize, scroll) {
    if (windowHandle != null) {
        if (windowHandle.closed) {
			windowHandle = window.open(url, name,"width=" + w + ",height=" + h + ",menubar=" + menu + ",resizable=" + resize + ",scrollbars=" + scroll);
		} else {
			windowHandle.close();
			windowHandle = window.open(url, name,"width=" + w + ",height=" + h + ",menubar=" + menu + ",resizable=" + resize + ",scrollbars=" + scroll);
		}
	} else {
		windowHandle = window.open(url, name,"width=" + w + ",height=" + h + ",menubar=" + menu + ",resizable=" + resize + ",scrollbars=" + scroll);
	}
}

function openWindowScrollResize(url, w, h) {
    if (windowHandle != null) {
        if (windowHandle.closed) {
			windowHandle = window.open(url,"popupWindow","width=" + w + ",height=" + h + ",resizable=yes,scrollbars=yes");
		} else {
			windowHandle.close();
			windowHandle = window.open(url,"popupWindow","width=" + w + ",height=" + h + ",resizable=yes,scrollbars=yes");
		}
	} else {
		windowHandle = window.open(url,"popupWindow","width=" + w + ",height=" + h + ",resizable=yes,scrollbars=yes");
	}
}

// Lun modified: 2003-06-12
function openLangWindow(url, w, h, frm, fld, flddisp, val, row, col) {
    if (windowHandle != null) {
        if (windowHandle.closed) {
			windowHandle = window.open(url,"langWindow","width=" + w + ",height=" + h + ",resizable=yes,scrollbars=yes");
		} else {
			windowHandle.close();
			windowHandle = window.open(url,"langWindow","width=" + w + ",height=" + h + ",resizable=yes,scrollbars=yes");
		}
	} else {
		windowHandle = window.open(url,"langWindow","width=" + w + ",height=" + h + ",resizable=yes,scrollbars=yes");
	}
}

/*
function openLangWindow(url, w, h, frm, fld, flddisp, val, row, col) {
    if (windowHandle != null) {
        if (windowHandle.closed) {
			windowHandle = window.open(url,"langWindow","width=" + w + ",height=" + h + ",resizable=no,scrollbars=no");
		} else {
			windowHandle.close();
			windowHandle = window.open(url,"langWindow","width=" + w + ",height=" + h + ",resizable=no,scrollbars=no");
		}
	} else {
		windowHandle = window.open(url,"langWindow","width=" + w + ",height=" + h + ",resizable=no,scrollbars=no");
	}
}*/
// End - Lun

function openRelatedProdWindow(url) {
    if (windowHandle != null) {
        if (windowHandle.closed) {
			windowHandle = window.open(url,"relprodWindow","width=600,height=400,resizable=no,scrollbars=yes");
		} else {
			windowHandle.close();
			windowHandle = window.open(url,"relprodWindow","width=600,height=400,resizable=no,scrollbars=yes");
		}
	} else {
		windowHandle = window.open(url,"relprodWindow","width=600,height=400,resizable=no,scrollbars=yes");
	}
}

// validate email address
function validEmail(email) {
	if (email.length < 5)
		return false;
	x1 = email.indexOf("@");
	x2 = email.indexOf(".",x1+2);
	x3 = email.indexOf(" ");
	if ((x1 < 1 ) || (x2 < 1) || (x2 == email.length-1) || (x3 >= 0)){
		return false;
	}
	return true;
}

// check for illegal character
function invalidCharacter(inStr) {
	var blnFound;
	blnFound = false;
	if (inStr.search(/</) != -1) {
		blnFound = true;
	}else if (inStr.search(/>/) != -1) {
		blnFound = true;
	}
	return blnFound;
}

// check for illegal character
function validCharacter(inStr) {
	var blnFound;
	blnFound = false;
	if (inStr.search(/</) != -1) {
		blnFound = true;
	}else if (inStr.search(/>/) != -1) {
		blnFound = true;
	}
	return blnFound;
}

function round(number,X) {
	// rounds number to X decimal places, defaults to 2
	X = (!X ? 2 : X);
	return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

//Validating the Date Selected
function CheckDate(SelYear,MonIndex,SelDay){
	if(parseInt(MonIndex)==4 || parseInt(MonIndex)==6 || parseInt(MonIndex)==9 || parseInt(MonIndex)==11)
	{
		if(parseInt(SelDay)==31)
		{
			return false;
		}
	}
	if(parseInt(MonIndex)==2)	//For Feb.
	{
		if((parseInt(SelYear) % 4)!=0)
		{
			if(parseInt(SelDay)>28)
			{
				return false;
			}
		}
		else if((parseInt(SelYear) % 400)==0)
		{
			if(parseInt(SelDay)>29)
			{
				return false;
			}
		}
		else if((parseInt(SelYear) % 100)==0)
		{
			if(parseInt(SelDay)>28)
			{
				return false;
			}
		}
		else
		{
			if(parseInt(SelDay)>29)
			{
				return false;
			}
		}
	}
	return true;
}

function isNumberInt(inputString) {
  return (!isNaN(parseInt(inputString))) ? true : false;
}

function isNumberFloat(inputString) {
  return (!isNaN(parseFloat(inputString))) ? true : false;
}

function selectAll(form){
	if (!form.prodid) return false;
	for (var i=0;i<form.prodid.length;i++) {
		form.prodid[i].selected = true;
	}
}

function selectNone(form){
	if (!form.prodid) return false;
	for (var i=0;i<form.prodid.length;i++) {
		form.prodid[i].selected = false;
	}
}

function selectAll1(form){
	if (!form.prod_id) return;	
	if (form.prod_id[0]) {
		for (var i=0;i<form.prod_id.length;i++) {
			form.prod_id[i].checked = true;
		}
	}else {
		form.prod_id.checked = true;
	}
}

function selectNone1(form){
	if (!form.prod_id) return;
	if (form.prod_id[0]) {
		for (var i=0;i<form.prod_id.length;i++) {
			form.prod_id[i].checked = false;
		}
	}else {
		form.prod_id.checked = false;
	}
}


function validateUsername(str) {
    var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-";
    var temp;
    for (var i=0; i<str.length; i++) {
        temp = "" + str.substring(i, i+1);
        if (valid.indexOf(temp) == "-1") return false;
    }
    return true;
}
