function HighlightMenu(a_obj)
{
  a_obj.style.color='#bef796';
   a_obj.style.textDecoration='none';
}

function LowlightMenu(a_obj)
{
  a_obj.style.color='#ffffff';
  a_obj.style.textDecoration='none';

}

function HighlightSubmenu(a_obj)
{
  a_obj.style.color='#bef796';
  a_obj.style.textDecoration='none';

}

function LowlightSubmenu(a_obj)
{
  a_obj.style.color='#ffffff';
  a_obj.style.textDecoration='none';
}

function HighlightSubsubmenu(a_obj)
{
  a_obj.style.color='#bef796';
  a_obj.style.textDecoration='none';
}

function LowlightSubsubmenu(a_obj)
{
  a_obj.style.color='#ffffff';
  a_obj.style.textDecoration='none';
}

function SetHeight()
{
  var myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myHeight = window.innerHeight;
  } else if( document.documentElement &&
      ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && (document.body.clientWidth ||document.body.clientHeight ) ) {
    //IE 4 compatible
    myHeight = document.body.clientHeight;
  }

  content_obj = document.getElementById('content');

  if (myHeight < 660) {
    content_obj.style.height = 500;
  } else {
    content_obj.style.height = myHeight-200;
  }
}

function displayDateTime()
{
//Get Date
var months=new Array(13);
months[1]="January";
months[2]="February";
months[3]="March";
months[4]="April";
months[5]="May";
months[6]="June";
months[7]="July";
months[8]="August";
months[9]="September";
months[10]="October";
months[11]="November";
months[12]="December";
var time=new Date();
var lmonth=months[time.getMonth() + 1];
var date=time.getDate();
if (date < 10)
date="0"+date
var year=time.getYear();
if (year < 2000)
year=year+1900;

//Get Time
var now=new Date();
var hours=now.getHours();
var minutes=now.getMinutes()
var timeValue=""+((hours >12) ? hours -12 :hours)
if (timeValue == "0") timeValue = 12;
timeValue += ((minutes < 10) ? ":0" : ":") + minutes
timeValue += (hours >= 12) ? "PM" : "AM"

//Get Day
var days=new Array(7);
days[0]="Sunday";
days[1]="Monday";
days[2]="Tuesday";
days[3]="Wednesday";
days[4]="Thursday";
days[5]="Friday";
days[6]="Saturday";
var lday=days[time.getDay()];

clock=lday+",  "+date+" "+lmonth+" "+year+"  "+timeValue;

document.getElementById("time").innerHTML=clock;
setTimeout('displayDateTime()',1000);
}

var __reEmailAddress__=new RegExp("^[a-zA-Z0-9_-]{1}[a-zA-Z0-9_-]{0,50}([.]{1}[a-zA-Z0-9_-]{1}[a-zA-Z0-9_-]{0,50}){0,3}[@]{1}[a-zA-Z0-9_-]{1}[a-zA-Z0-9_-]{0,50}([.]{1}[a-zA-Z0-9_-]{1}[a-zA-Z0-9_-]{0,50}){0,3}[.]{1}(ad|AD|ae|AE|af|AF|ag|AG|ai|AI|al|AL|am|AM|an|AN|ao|AO|aq|AQ|ar|AR|as|AS|at|AT|au|AU|aw|AW|az|AZ|bb|BB|be|BE|bf|BF|bg|BG|bh|BH|bi|BI|bj|BJ|bm|BM|bn|BN|bo|BO|br|BR|bs|BS|bt|BT|bw|BW|by|BY|bz|BZ|ca|CA|cc|CC|cd|CD|cf|CF|cg|CG|ch|CH|ci|CI|ck|CK|cl|CL|cm|CM|cn|CN|co|CO|cr|CR|cu|CU|cv|CV|cx|CX|cy|CY|cz|CZ|de|DE|dj|DJ|dk|DK|dm|DM|do|DO|dz|DZ|ec|EC|ee|EE|eg|EG|es|ES|et|ET|fi|FI|fj|FJ|fk|FK|fm|FM|fo|FO|fr|FR|ga|GA|gd|GD|ge|GE|gf|GF|gh|GH|gi|GI|gl|GI|gm|GM|gn|GN|gp|GP|gq|GQ|gr|GR|gt|GT|gu|GU|gy|GY|hk|HK|hm|HM|hn|HN|hr|HR|hu|HU|id|ID|ie|IE|il|IL|in|IN|int|INT|io|IO|ir|IR|is|IS|it|IT|jm|JM|jo|JO|jp|JP|ke|KE|kg|KG|kh|KH|ki|KI|km|KM|kn|KN|kr|KR|kw|KW|ky|KY|kz|KZ|la|LA|lb|LB|lc|LC|li|LI|lk|LK|lr|LR|ls|LS|lt|LT|lu|LU|lv|LV|ly|LY|ma|MA|mc|MC|md|MD|mg|MG|mh|MH|mi|MI|ml|ML|mm|MM|mn|MN|mo|MO|mp|MP|mq|MQ|mr|MR|ms|MS|mt|MT|mu|MU|mv|MV|mw|MW|mx|MX|my|MY|mz|MZ|na|NA|nc|NC|ne|NE|net|NET|nf|NF|ng|NG|ni|NI|nl|NL|no|NO|np|NP|nr|NR|nu|NU|nz|NZ|om|OM|pa|PA|pe|PE|pf|PF|pg|PG|ph|PH|pk|PK|pl|PL|om|OM|pn|PN|pr|PR|ps|PS|pt|PT|pw|PW|py|PY|qa|QA|re|RE|ro|RO|ru|RU|rw|RW|sa|SA|sb|SB|sc|SC|se|SE|sg|SG|sh|SH|si|SI|sk|SK|sl|SL|sm|SM|sn|SN|sn|SN|so|SO|sr|SR|st|ST|su|SU|sv|SV|sz|SZ|tc|TC|td|TD|tf|TF|tg|TG|th|TH|tj|TJ|tk|TK|tm|TM|tn|TN|to|TO|tp|TP|tr|TR|tt|TT|tv|TV|tw|TW|tz|TZ|ua|UA|ug|UG|uk|UK|us|US|uy|UY|uz|UZ|va|VA|vc|VC|ve|VE|vg|VG|vi|VI|vn|VN|vu|VU|ws|WS|ye|YE|yu|YU|za|ZA|zm|ZM|zr|ZR|zw|ZW|aero|AERO|biz|BIZ|cat|CAT|com|COM|coop|COOP|info|INFO|jobs|JOBS|mobi|MOBI|museum|MUSEUM|name|NAME|net|NET|org|ORG|pro|PRO|tel|TEL|travel|TRAVEL|gov|GOV|edu|EDU|mil|MIL|int|INT){1}$");

/*this part is for form validation*/
function GetObject(objId)
{
  if (document.getElementById) {
    return document.getElementById(objId);
  }

  alert("document.getElementById not supported");

  return 0;
}

function istelnum(s) {
  var valChar='0123456789()-+'

  for (var i=0; i<s.length; i++) {
    var c=s.charAt(i);
    if (valChar.indexOf(c)==-1) {
      return false;
    }
  }

  return true;
}

function ValidateURL(url)
{
  var urlRegxp = /^(http:\/\/|http:\/\/www|www){1}\.(\w+)\.(\w){2,3}((\W\w+)*)?$/;
  if (urlRegxp.test(url)) {
    return true;
  } else {
    return false;
  }
}

function DisplayStatus(message)
{
  var __loginObj__=GetObject("login_member");
  __loginObj__.innerHTML=message;
  __loginObj__.style.color="#771a1a";
  setTimeout("ClearStatus();",5000);
}

function ClearStatus()
{
  var __loginObj__=GetObject("login_member");
  __loginObj__.innerHTML="";
  __loginObj__.style.color="#000000";
}

function VerifyLogin()
{
    formObj=document.forms['login_form'];

  if (formObj.email.value=="") {
    DisplayStatus("Please enter username/email");
    formObj.email.focus();
    return false;
  }

  if (!formObj.email.value.match(__reEmailAddress__)) {
    DisplayStatus("The username/email is invalid");
    formObj.email.focus();
    return false;
  }

  if (formObj.password.value=="") {
    DisplayStatus("Please enter password");
    formObj.password.focus();
    return false;
  }
}

function DisplayErrorStatus(message)
{
  var __appilcationObj__=GetObject("application");
  __appilcationObj__.innerHTML=message;
  __appilcationObj__.style.color="#771a1a";
  setTimeout("ClearErrorStatus();",5000);
}

function ClearErrorStatus()
{
  var __appilcationObj__=GetObject("application");
  __appilcationObj__.innerHTML="";
  __appilcationObj__.style.color="#000000";
}

function ValidateApplicationForm()
{
  formObj=document.forms['applicationForm'];

  if (formObj.real_name.value=="") {
    DisplayErrorStatus("Please enter your name");
    formObj.real_name.focus();
    return false;
  }

  if (formObj.email.value=="") {
    DisplayErrorStatus("Please enter your username/email");
    formObj.email.focus();
    return false;
  }

  if (!formObj.email.value.match(__reEmailAddress__)) {
    DisplayErrorStatus("The username/email is invalid");
    formObj.email.focus();
    return false;
  }

  myOptionType=-1;
  for (i=formObj.org_type.length-1; i > -1; i--) {
    if (formObj.org_type[i].checked) {
      myOptionType=i;
      i=-1;
    }
  }
  if (myOptionType==-1) {
    DisplayErrorStatus("Please select an organisation type");
    return false;
  }

  for (l=0;l<formObj.org_type.length;l++) {
    if ((formObj.org_type[l].checked==true) && (formObj.org_type[l].value!="3")) {
      myOptionSize=-1;
      for (m=formObj.org_size.length-1; m > -1; m--) {
        if (formObj.org_size[m].checked) {
          myOptionSize=m;
          m=-1;
        }
      }
      if (myOptionSize==-1) {
        DisplayErrorStatus("Please select an organisation size");
        return false;
      }
    }
  }

  if (formObj.password.value=="") {
    DisplayErrorStatus("Please enter password");
    formObj.password.focus();
    return false;
  }

  if (formObj.verifyPass.value=="") {
    DisplayErrorStatus("Please enter verify password");
    formObj.verifyPass.focus();
    return false;
  }

  if (!formObj.verifyPass.value.match(formObj.password.value)) {
    DisplayErrorStatus("The entered verify password not correct");
    formObj.verifyPass.value="";
    formObj.verifyPass.focus();
    return false;
  }

  if (formObj.tel.value=="") {
    DisplayErrorStatus("Please enter phone number");
    formObj.tel.focus();
    return false;
  }

  if (istelnum(formObj.tel.value)==false){
    DisplayErrorStatus("The format of the phone number is invalid");
    formObj.tel.value="";
    formObj.tel.focus();
    return false;
  }

  if (formObj.fax.value!="") {
    if (istelnum(formObj.fax.value)==false){
      DisplayErrorStatus("The format of the fax is invalid");
      formObj.fax.value="";
      formObj.fax.focus();
      return false;
    }
  }

  if (formObj.address.value=="") {
    DisplayErrorStatus("Please enter address");
    formObj.address.focus();
    return false;
  }

  if (formObj.country.value=="") {
    DisplayErrorStatus("Please choose your country");
    formObj.country.focus();
    return false;
  }

  if (formObj.website.value=="") {
    DisplayErrorStatus("Please enter website");
    formObj.website.focus();
    return false;
  }

  if (ValidateURL(formObj.website.value)==false){
    DisplayErrorStatus("The website is invalid");
    formObj.website.focus();
    return false;
  }

  if (formObj.userstring.value=="") {
    DisplayErrorStatus("Please enter security code");
    formObj.userstring.focus();
    return false;
  }
}

function clearForm()
{
  form_obj=document.forms['applicationForm'];

  if (form_obj.real_name.value!=""){
    form_obj.real_name.value="";
  }
  if (form_obj.email.value!=""){
    form_obj.email.value="";
  }
  for (i=form_obj.org_type.length-1; i > -1; i--) {
    if (form_obj.org_type[i].checked) {
      form_obj.org_type[i].checked=false;
    }
  }
  for (i=form_obj.org_size.length-1; i > -1; i--) {
    if (form_obj.org_size[i].checked) {
      form_obj.org_size[i].checked=false;
    }
  }
  if (form_obj.password.value!=""){
    form_obj.password.value="";
  }
  if (form_obj.verifyPass.value!=""){
    form_obj.verifyPass.value="";
  }
  if (form_obj.tel.value!=""){
    form_obj.tel.value="";
  }
  if (form_obj.fax.value!=""){
    form_obj.fax.value="";
  }
  if (form_obj.address.value!=""){
    form_obj.address.value="";
  }
  if (form_obj.country.value!=""){
    form_obj.country.value="";
  }
  if (form_obj.website.value!=""){
    form_obj.website.value="";
  }
  if (form_obj.comment.value!=""){
    form_obj.comment.value="";
  }
}

function VerifyEdit()
{
  formObj=document.forms['applicationFormEdit'];

  if (formObj.real_name.value=="") {
    DisplayErrorStatus("Please enter your name");
    formObj.real_name.focus();
    return false;
  }

  if (formObj.email.value=="") {
    DisplayErrorStatus("Please enter your username/email");
    formObj.email.focus();
    return false;
  }

  if (!formObj.email.value.match(__reEmailAddress__)) {
    DisplayErrorStatus("The username/email is invalid");
    formObj.email.focus();
    return false;
  }

  myOptionType=-1;
  for (i=formObj.org_type.length-1; i > -1; i--) {
    if (formObj.org_type[i].checked) {
      myOptionType=i;
      i=-1;
    }
  }
  if (myOptionType==-1) {
    DisplayErrorStatus("Please select an organisation type");
    return false;
  }

  myOptionSize=-1;
  for (i=formObj.org_size.length-1; i > -1; i--) {
    if (formObj.org_size[i].checked) {
      myOptionSize=i;
      i=-1;
    }
  }
  if (myOptionSize==-1) {
    DisplayErrorStatus("Please select an organisation size");
    return false;
  }

  if (formObj.password.value!="") {
    if (formObj.verifyPass.value=="") {
      DisplayErrorStatus("Please enter verify password");
      formObj.verifyPass.focus();
      return false;
    }

    if (!formObj.verifyPass.value.match(formObj.password.value)) {
      DisplayErrorStatus("The entered verify password not correct");
      formObj.verifyPass.value="";
      formObj.verifyPass.focus();
      return false;
    }
  }

  if (formObj.tel.value=="") {
    DisplayErrorStatus("Please enter phone number");
    formObj.tel.focus();
    return false;
  }

  if (istelnum(formObj.tel.value)==false){
    DisplayErrorStatus("The format of the phone number is invalid");
    formObj.tel.value="";
    formObj.tel.focus();
    return false;
  }

  if (formObj.fax.value!="") {
    if (istelnum(formObj.fax.value)==false){
      DisplayErrorStatus("The format of the fax is invalid");
      formObj.fax.value="";
      formObj.fax.focus();
      return false;
    }
  }

  if (formObj.address.value=="") {
    DisplayErrorStatus("Please enter address");
    formObj.address.focus();
    return false;
  }

  if (formObj.country.value=="") {
    DisplayErrorStatus("Please choose your country");
    formObj.country.focus();
    return false;
  }

  if (formObj.website.value=="") {
    DisplayErrorStatus("Please enter website");
    formObj.website.focus();
    return false;
  }

  if (ValidateURL(formObj.website.value)==false){
    DisplayErrorStatus("The website is invalid");
    formObj.website.focus();
    return false;
  }
}

function DisplayErrorAddTopic(message)
{
  var __addTopicObj__=GetObject("topic_error");
  __addTopicObj__.innerHTML=message;
  __addTopicObj__.style.color="#771a1a";
  setTimeout("ClearErrorAddTopic();",5000);
}

function ClearErrorAddTopic()
{
  var __addTopicObj__=GetObject("topic_error");
  __addTopicObj__.innerHTML="";
  __addTopicObj__.style.color="#000000";
}

function ValidateAddTopic()
{
  formObj=document.forms['addTopic'];

  if (formObj.real_name.value=="") {
    DisplayErrorAddTopic("Please enter your name to be use in forum");
    formObj.real_name.focus();
    return false;
  }

  if (formObj.email.value=="") {
    DisplayErrorAddTopic("Please enter your username/email");
    formObj.email.focus();
    return false;
  }

  if (!formObj.email.value.match(__reEmailAddress__)) {
    DisplayErrorAddTopic("The username/email is invalid");
    formObj.email.focus();
    return false;
  }

  if (formObj.topic.value=="") {
    DisplayErrorAddTopic("Please enter the topic");
    formObj.topic.focus();
    return false;
  }

  if (formObj.detail.value=="") {
    DisplayErrorAddTopic("Please enter description for the topic");
    formObj.detail.focus();
    return false;
  }
}

function DisplayErrorReplyTopic(message)
{
  var __replyTopicObj__=GetObject("replyTopic_error");
  __replyTopicObj__.innerHTML=message;
  __replyTopicObj__.style.color="#771a1a";
  setTimeout("ClearErrorReplyTopic();",5000);
}

function ClearErrorReplyTopic()
{
  var __replyTopicObj__=GetObject("replyTopic_error");
  __replyTopicObj__.innerHTML="";
  __replyTopicObj__.style.color="#000000";
}

function ValidateReplyTopic()
{
  formObj=document.forms['replyTopic'];

  if (formObj.real_name.value=="") {
    DisplayErrorReplyTopic("Please enter your name to be use in forum reply");
    formObj.real_name.focus();
    return false;
  }

  if (formObj.email.value=="") {
    DisplayErrorReplyTopic("Please enter your username/email");
    formObj.email.focus();
    return false;
  }

  if (!formObj.email.value.match(__reEmailAddress__)) {
    DisplayErrorReplyTopic("The username/email is invalid");
    formObj.email.focus();
    return false;
  }

  if (formObj.answer.value=="") {
    DisplayErrorReplyTopic("Please enter the reply text");
    formObj.answer.focus();
    return false;
  }
}
