/* my123 JavaScript code (English) */

var formSubmit = true; // variable pour empecher les clicks abusifs sous IE

if(window.RegExp){
  var regexAlpha = /^[A-Za-zÀàÂâÉéÈèÊêËëÎîÏïÔôÖöÙùÛûÇç \-\'\.]+$/;
  var regexNum = /^[0-9]+$/;
  var regexAlphaNum = /^[0-9A-Za-zÀàÂâÉéÈèÊêËëÎîÏïÔôÖöÙùÛûÇç \-\'\.]+$/;
  var regexAddress = /^[0-9]+(\,)? [0-9A-Za-zÀàÂâÉéÈèÊêËëÎîÏïÔôÖöÙùÛûÇç \-\.\,\']+$/;
  var regexPC = /^[A-Za-z][0-9][A-Za-z]( )?[0-9][A-Za-z][0-9]$/;
  var regexPhone = /^[0-9]{10}$/;
  var regexEmailNo = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
  var regexEmailYes = /^.+\@(\[?)[A-Za-z0-9\-\.]+\.([A-Za-z]{2,4}|[0-9]{1,3})(\]?)$/;
  var regexUrl = /^(?:(?:ftp|https?):\/\/)?(?:[a-z0-9](?:[-a-z0-9]*[a-z0-9])?\.)+(?:com|edu|biz|org|gov|int|info|mil|net|name|museum|coop|aero|[a-z][a-z])\b(?:\d+)?(?:\/[^;"'<>()\[\]{}\s\x7f-\xff]*(?:[.,?]+[^;"'<>()\[\]{}\s\x7f-\xff]+)*)?/;
  var regexVIN = /^[0-9A-Za-z]{17}$/;
  var regexYear = /^[1-2][0-9]{3}$/;
  var regexKM = /^[0-9 \,\.]+$/;
  var regexDate = /^[0-9]{4}\/((0[1-9])|(1[0-2]))\/((0[1-9])|((1|2)[0-9])|(3(0|1)))$/;
  /*var regexHour = /^(((0|1)[0-9])|(2[0-3]))$/;*/
  var regexMoney = /^[0-9\.\,]+$/;
  var regexLicence = /^[A-Za-z][0-9]{4}-[0-9]{6}-[0-9]{2}$/;
  var regexPlate = /^[A-Za-z0-9 -]{4,8}$/;
  
  var regexNotEmpty = /^.+$/;
  var regexOnlySpace = /^ +$/;
}

function validateField(field, regex){
  return regex.test(document.getElementById(field).value);
}

function errorField(field) {  
  if (document.layers) {
    fieldstyle = document.layers[field].className;
    document.layers[field].className = fieldstyle + ' field-err';
  }
  else if(document.getElementById){
    fieldstyle = document.getElementById(field).className;
    document.getElementById(field).className = fieldstyle + ' field-err';
  }
}
function okField(field){
  if (document.layers) {
    classname = document.layers[field].className;
    if (classname.search('long') != '-1')
      document.layers[field].className = 'long';
    else if (classname.search('short') != '-1')
      document.layers[field].className = 'short';
    else
      document.layers[field].className = '';
  }
  else if(document.getElementById){
    classname = document.getElementById(field).className;
    if (classname.search('long') != '-1')
      classname = document.getElementById(field).className = 'long';
    else if (classname.search('short') != '-1')
      classname = document.getElementById(field).className = 'short';
    else
      classname = document.getElementById(field).className = '';
  }
}

function my123_validate_login(f) {
  var fn = f.name;
  var ofn = document.forms[fn];
	var erreur = false;
  var nb_err = 0;
  
  if(!formSubmit)
    return false;
  formSubmit = false;
  
  var title_err = '';
  var msgerreur = "<ul>";
  
  if(!validateField('agun2', regexNotEmpty) || validateField('agun2', regexOnlySpace)){
    errorField('agun2');
    msgerreur += "<li><a href=\"#a-agun2\">'Username' : Please write your username</a></li>";
    erreur = true;
    nb_err++;
  }
  else
    okField('agun2');
  
  if(!validateField('agpw2', regexNotEmpty) || validateField('agpw2', regexOnlySpace)){
    errorField('agpw2');
    msgerreur += "<li><a href=\"#a-agpw2\">'Password' : Please write your password</a></li>";
    erreur = true;
    nb_err++;
  }
  else
    okField('agpw2');
  
  msgerreur += "</ul>";
    
  if (nb_err > 1)
    title_err = "The following fields require your attention:";
  else
    title_err = "The following field requires your attention:";

  if(erreur == true) {
		if (document.layers) {
      document.layers.error.document.write(title_err + msgerreur);
      document.layers.error.document.close();
      document.layers['err-msg'].className = 'visible';
    }
    else if(document.getElementById){
      document.getElementById("err-msg").innerHTML = title_err + msgerreur;
      document.getElementById('err-msg').className = 'visible';
    }
    else
      alert(msgerreur);
    formSubmit = true;
		return false;
  }
  else
    document.getElementById(f.id).submit();
}

function my123_validate_register(f) {
  //check if validation was asked by the Contest Console
  if(f.fromcontestconsole)
  {
    my123_validate_register_console(f);
    return;
  }
  var fn = f.name;
  var ofn = document.forms[fn];
	var erreur = false;
  var nb_err = 0;
  
  if(!formSubmit)
    return false;
  formSubmit = false;
  
  if(document.getElementById('email').value == ''){
    var title_err = '';
  	var msgerreur = "<ul>";
    
    if (!(!validateField('qwe', regexEmailNo) && validateField('qwe', regexEmailYes))){
      errorField('qwe');
      msgerreur += "<li><a href=\"#a-email\">'E-mail' : Please write a valid e-mail address</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('qwe');
    
    //if country is not canada need another validation scheme US or other(dont validate)***SD
    drpcountry = document.getElementById('country_id');
    txtcountry = drpcountry.options[drpcountry.selectedIndex].value;
    if(txtcountry == 'Canada') {
      if (!validateField('pcode_id', regexPC) || !validatePC(document.getElementById('pcode_id'), false, false, true)){
        errorField('pcode_id');
        msgerreur += "<li><a href=\"#a-pcode\">'Postal code' : Please write or correct your postal code</a></li>";
        erreur = true;
        nb_err++;
      }
      else{
        okField('pcode_id');
        
        var pc = document.getElementById('pcode_id').value;
        pc = pc.toUpperCase();
        if(pc.indexOf(' ') == -1)
          pc = pc.substring(0,3) + ' ' + pc.substring(3);
        document.getElementById('pcode_id').value = pc;
      }
    }
    else {
      //My123ValidatePC(document.getElementById('pcode_id'), drpcountry);
    }
    
    if(!validateField('uname', regexNotEmpty) || validateField('uname', regexOnlySpace)){
      errorField('uname');
      msgerreur += "<li><a href=\"#a-uname\">'Username' : Please write a username</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('uname');
    
    if(!validateField('passw', regexNotEmpty) || validateField('passw', regexOnlySpace)){
      errorField('passw');
      msgerreur += "<li><a href=\"#a-passw\">'Password' : Please write a password</a></li>";
      erreur = true;
      nb_err++;
    }
    else{
      okField('passw');
      
      if (document.getElementById('cpassw').value != document.getElementById('passw').value){
        errorField('cpassw');
        msgerreur += "<li><a href=\"#a-cpassw\">'Re-type password' : Please re-type your password</a></li>";
        erreur = true;
        nb_err++;
      }
      else
        okField('cpassw');
    }
    
    if(!document.getElementById('accept_id').checked){
      msgerreur += "<li><a href=\"#a-accept\">You must accept our Terms and Conditions to register</a></li>";
      erreur = true;
      nb_err++;
    }
    
    msgerreur += "</ul>";
      
    if (nb_err > 1)
      title_err = "The following fields require your attention:";
    else
      title_err = "The following field requires your attention:";
  }

  if(erreur == true) {
		if (document.layers) {
      document.layers.error.document.write(title_err + msgerreur);
      document.layers.error.document.close();
      document.layers['err-msg2'].className = 'visible';
    }
    else if(document.getElementById){
      document.getElementById("err-msg2").innerHTML = title_err + msgerreur;
      document.getElementById('err-msg2').className = 'visible';
    }
    else
      alert(msgerreur);
    formSubmit = true;
		return false;
  }
  else{
    if(document.getElementById('email').value == '')
      document.getElementById(f.id).submit();
  }
}

function my123_validate_update(f) {
  var fn = f.name;
  var ofn = document.forms[fn];
	var erreur = false;
  var nb_err = 0;
  
  if(!formSubmit)
    return false;
  formSubmit = false;
  
  if(document.getElementById('email').value == ''){
    var title_err = '';
    var msgerreur = "<ul>";
    
    if (!validateField('city', regexAlpha)){
      errorField('city');
      msgerreur += "<li><a href=\"#a-city\">'City' : Please write your city</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('city');
    
    if (!validateField('pcode_id', regexPC)){
      errorField('pcode_id');
      msgerreur += "<li><a href=\"#a-pcode\">'Postal code' : Please write your postal code</a></li>";
      erreur = true;
      nb_err++;
    }
    else{
      okField('pcode_id');
      
      var pc = document.getElementById('pcode_id').value;
      pc = pc.toUpperCase();
      if(pc.indexOf(' ') == -1)
        pc = pc.substring(0,3) + ' ' + pc.substring(3);
      document.getElementById('pcode_id').value = pc;
    }
    
    if (!(!validateField('qwe', regexEmailNo) && validateField('qwe', regexEmailYes))){
      errorField('qwe');
      msgerreur += "<li><a href=\"#a-email\">'E-mail' : Please write a valid e-mail address</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('qwe');
    
    if (!validateField('firstname', regexAlpha)){
      errorField('firstname');
      msgerreur += "<li><a href=\"#a-firstname\">'First name' : Please write your first name (letters, space, and hyphen only)</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('firstname');
    
    if (!validateField('lastname', regexAlpha)){
      errorField('lastname');
      msgerreur += "<li><a href=\"#a-lastname\">'Last name' : Please write your last name (letters, space, and hyphen only)</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('lastname');
    
    /*
    if (document.getElementById('country').selectedIndex == 0){
      errorField('country');
      msgerreur += "<li><a href=\"#a-country\">'Country' : Please select your country</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('country');
    
    if (document.getElementById('province').selectedIndex == 0){
      errorField('province');
      msgerreur += "<li><a href=\"#a-province\">'Province' : Please select your province</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('province');
    
    if (document.getElementById('language').selectedIndex == 0){
      errorField('language');
      msgerreur += "<li><a href=\"#a-language\">'Language' : Please select your language</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('language');
    
    if (!(document.getElementById('genderm').checked || document.getElementById('genderf').checked)){
      msgerreur += "<li><a href=\"#a-gender\">'Gender' : Please select your gender</a></li>";
      erreur = true;
      nb_err++;
    }
    */
    
    if(validateField('website', regexNotEmpty) && !validateField('website', regexOnlySpace)){
      if (!validateField('website', regexUrl)){
        errorField('website');
        msgerreur += "<li><a href=\"#a-website\">'Website' : Please write a valid website url</a></li>";
        erreur = true;
        nb_err++;
      }
      else
        okField('website');
    }
    
    msgerreur += "</ul>";
      
    if (nb_err > 1)
      title_err = "The following fields require your attention:";
    else
      title_err = "The following field requires your attention:";
  }

  if(erreur == true) {
		if (document.layers) {
      document.layers.error.document.write(title_err + msgerreur);
      document.layers.error.document.close();
      document.layers['err-msg'].className = 'visible';
    }
    else if(document.getElementById){
      document.getElementById("err-msg").innerHTML = title_err + msgerreur;
      document.getElementById('err-msg').className = 'visible';
    }
    else
      alert(msgerreur);
    formSubmit = true;
		return false;
  }
  else{
    if(document.getElementById('email').value == '')
      document.getElementById(f.id).submit();
  }
}

function my123_history_savechanges(url, f) {
  var cb = { success: my123_history_savechanges_success, failure: my123_history_savechanges_failure };  
  
  YAHOO.util.Connect.resetFormState();
  YAHOO.util.Connect.setForm(f.id);
  YAHOO.util.Connect.asyncRequest("GET", url, cb, null);
  YAHOO.util.Connect.resetFormState();
}

function my123_history_savechanges_success(o) {
  alert("Your history settings have been saved successfully !");
}

function my123_history_savechanges_failure(o) {
  alert("An error occured while trying to save your settings !");
}


function my123_isPublic(rowid, namecheck) 
{
  
  var cb = {
    success: ID_response,         
    failure:ID_noresponse,
    argument: [namecheck,rowid]
  }       
  var url= '/site/support/ajax_my123publicflag.spy?rowid='+ rowid ;
  //YAHOO.util.Connect.setForm(f);          
  YAHOO.util.Connect.asyncRequest('GET', url, cb, null);      
  YAHOO.util.Connect.resetFormState();                 
}

function ID_response(o) 
{ //alert (o.responseText)
  eval('rc = ' + o.responseText);

  //var namecheck = o.argument[0];
  
  var rowid =o.argument[1]

  if (typeof(publicflag)=='undefined') 
    {var namecheck = [o.argument[0]]; }
  else
    {var namecheck = publicflag[rowid];}
    
  if(rc.success)
    {     
     for (i=0; i<namecheck.length;i++)
     {
       var el = document.getElementById("privacyicon-" + namecheck[i]+"-"+rowid);
       
       if (rc.publicflg=='0')
        { el.src = "/site/img/my123/private_small.gif"; }
       else
        { el.src = "/site/img/my123/public_small.gif"; }  
      }       
   
    }
  else
    {
    alert('Failure saving task: ' + rc.errormsg);
    }
}

function ID_noresponse(o)
{
  alert('Failure saving task!');
}

function my123_profilePublic(userid) 
{
  
  var cb = {
    success: profilePublic_response,         
    failure: profilePublic_noresponse,
    argument: [userid]
  }       
  var url= '/site/support/ajax_my123_updatepublicflag.spy?userid='+ userid +'&enable=' + (public_profile ? "0" : "1");         
  YAHOO.util.Connect.asyncRequest('GET', url, cb, null);      
  YAHOO.util.Connect.resetFormState();                 
}

function profilePublic_response(o) 
{ 
  eval('rc = ' + o.responseText);    
  if(rc.success)
    { 
      public_profile = !public_profile;

      var el = document.getElementById("profileflg");
      var el1 = document.getElementById("privacystate");  
      var pflag = document.getElementById("profile-public-flag");
      if (!public_profile) {
        el.src = "/site/img/my123/private_small.gif";
        el1.innerHTML='private';
        if(pflag != null && pflag.nodeName.toLowerCase() == 'img') {
          pflag.src = "/site/img/my123/private.gif";
        }
      }
      else {
        el.src = "/site/img/my123/public_small.gif"; 
        el1.innerHTML='public';
        pflag.src = "/site/img/my123/public.gif";
      }         
    }
  else
    {
    alert('Failure saving task: ' + rc.errormsg);
    }
}

function profilePublic_noresponse(o)
{
  alert('Failure saving task!');
}


function my123_writeComments(rowid) 
{ 
 
  var box=document.getElementById("commentbox_"+rowid);
  box.style.display="";                           
}

function my123_editComments(rowid) 
{   
    var commenttext=document.getElementById("comment_text_"+rowid);               
    var mycomment = document.getElementById("mycomment_"+rowid);
    
    if(commenttext.childNodes.length > 0) {
      var c = commenttext.childNodes[0].nodeName.toLowerCase();
    }
    else {
      var c = commenttext.nodeName.toLowerCase();
    }
    
    if(c != 'textarea') {
      mycomment.value=br2return(commenttext.innerHTML);
      var s = '<textarea name="mycomment" id="mycomment_' + rowid + '">'+ br2return(commenttext.innerHTML) +'</textarea><br /><input type="button" value="Save" onClick="my123_saveComments(\''+rowid+'\');">';
      commenttext.innerHTML = s;
    }
}

function return2br(dataStr) {
        return dataStr.replace(/(\r\n|[\r\n])/g, "<br />");
    }

function br2return(dataStr) {
        return dataStr.replace(/(<br>)/g,"\r\n");
    }
        
                  
function my123_saveComments(rowid) 
{ 
  var mycomment=document.getElementById("mycomment_"+rowid);
  var comments=mycomment.value;

  var cb = {
    success: saveComments_response,         
    failure: saveComments_noresponse,
    argument: [rowid]
  }       
  var url= '/site/support/ajax_my123_savecomment.spy?rowid='+ rowid + '&comments=' + return2br(comments);    
  // need to change the method to POST for comments     
  YAHOO.util.Connect.asyncRequest('GET', url, cb, null);      
    
}

function saveComments_response(o) 
{               
  rowid=o.argument[0]
  eval('rc = ' + o.responseText);    
  if(rc.success)
    {                 
      var no_comments=document.getElementById("no_comments_"+rowid);
      no_comments.style.display="none";
                                       
      //get the new comments, and show it.
      var mycomment=document.getElementById("mycomment_"+rowid);  
      var commenttext=document.getElementById("comment_text_"+rowid);                                      
      commenttext.innerHTML= return2br(mycomment.value);
      
      var with_comments =document.getElementById("with_comments_"+rowid);
      with_comments.style.display="";
      
      var writecomment = document.getElementById("writecomment_"+rowid);
      writecomment.style.display="none";
      var editcomment = document.getElementById("editcomment_"+rowid);
      editcomment.style.display="";                                       
    }
  else
    {
    alert('Failure saving task: ' + rc.errormsg);
    }
}

function saveComments_noresponse(o)
{
  alert('Failure saving task!');
}

function my123_validate_register_console(f)
{
  var fn = f.name;
  var ofn = document.forms[fn];
	var erreur = false;
  var nb_err = 0;
  
  if(!formSubmit)
    return false;
  formSubmit = false;
  
  if(document.getElementById('email').value == ''){
    var title_err = '';
  	var msgerreur = "<ul>";
    
    if (!(!validateField('qwe', regexEmailNo) && validateField('qwe', regexEmailYes))){
      errorField('qwe');
      msgerreur += "<li><a href=\"#a-email\">'E-mail' : Please write a valid e-mail address</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('qwe');
    
    if (!(validateField('fname', regexNotEmpty))){
      errorField('fname');
      msgerreur += "<li><a href=\"#a-fname\">'Firstname' : Please write a firstname</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('fname');
    
    if (!(validateField('lname', regexNotEmpty))){
      errorField('lname');
      msgerreur += "<li><a href=\"#a-lname\">'Lasttname' : Please write a lastname</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('lname');
      
    if (!(validateField('telephone1', regexNotEmpty) && validateField('telephone1', regexNum))){
      errorField('telephone1');
      msgerreur += "<li><a href=\"#a-telephone\">'Telephone area code' : Please write a valid area code</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('telephone1');
      
      if (!(validateField('telephone2', regexNotEmpty) && validateField('telephone2', regexNum))){
      errorField('telephone2');
      msgerreur += "<li><a href=\"#a-telephone\">'Telephone starting 3 digits' : Please write a valid telephone number</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('telephone2');
      
      if (!(validateField('telephone3', regexNotEmpty) && validateField('telephone3', regexNum))){
      errorField('telephone3');
      msgerreur += "<li><a href=\"#a-telephone\">'Telephone ending 4 digits' : Please write a valid telephone number</a></li>";
      erreur = true;
      nb_err++;
    }
    else
      okField('telephone3');
    
    //age
    if(document.getElementById('age').value == '0')
    {
      errorField('age');
      msgerreur += "<li><a href=\"#a-age\">'Age' : Please select an age bracket</a></li>";
      erreur = true;
      nb_err++;
    }
    
    if(document.getElementById('pcode_id').value != '')
    {
      if (!validateField('pcode_id', regexPC) || !validatePC(document.getElementById('pcode_id'), false, false, true)){
	errorField('pcode_id');
	msgerreur += "<li><a href=\"#a-pcode\">'Postal code' : Please write or correct your postal code</a></li>";
	erreur = true;
	nb_err++;
      }
    }
    else{
      okField('pcode_id');
      
      var pc = document.getElementById('pcode_id').value;
      pc = pc.toUpperCase();
      if(pc.indexOf(' ') == -1)
        pc = pc.substring(0,3) + ' ' + pc.substring(3);
      document.getElementById('pcode_id').value = pc;
    }
    
    msgerreur += "</ul>";
      
    if (nb_err > 1)
      title_err = "The following fields require your attention:";
    else
      title_err = "The following field requires your attention:";
  }

  if(erreur == true) {
		if (document.layers) {
      document.layers.error.document.write(title_err + msgerreur);
      document.layers.error.document.close();
      document.layers['err-msg2'].className = 'visible';
    }
    else if(document.getElementById){
      document.getElementById("err-msg2").innerHTML = title_err + msgerreur;
      document.getElementById('err-msg2').className = 'visible';
    }
    else
      alert(msgerreur);
    formSubmit = true;
		return false;
  }
  else{
    if(document.getElementById('email').value == '')
      document.getElementById(f.id).submit();
  }
}

function ValidateContestEmail(f)
{
  if((document.getElementById('qwe').value == '') || !validateField('qwe', regexEmailYes))
  {
    document.getElementById('errorMsg').innerHTML = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invalid Email';
    return false;
  }
  else
  {
    document.getElementById('errorMsg').innerHTML = '';
    f.submit()
  }
}

function ValidateTimeControl(c)
{
  if(c.name.indexOf('min') != -1 || c.name.indexOf('sec') != -1)
  {
    if(c.value.length >= 2)
    {
      switch(c.name)
      {
	case 'min1':
	  document.getElementById('sec1').focus();
	  break;
	case 'sec1':
	  document.getElementById('mil1').focus();
	  break;
	case 'min2':
	  document.getElementById('sec2').focus();
	  break;
	case 'sec2':
	  document.getElementById('mil2').focus();
	  break;
      }
    }
  }
  else
  {
    if(c.value.length >= 3)
    {
      document.getElementById('btnResult').focus();
    }
  }
}

function ValidateTelephoneControl(c)
{
  if(c.name.indexOf('telephone1') != -1)
  {
    if(c.value.length >= 3)
    {
      document.getElementById('telephone2').focus();
    }
  }
  if(c.name.indexOf('telephone2') != -1)
  {
    if(c.value.length >= 3)
    {
      document.getElementById('telephone3').focus();
    }
  }
  if(c.name.indexOf('telephone3') != -1)
  {
    if(c.value.length >= 4)
    {
      document.getElementById('age').focus();
    }
  }
}

function ValidateTimeSubmit(f)
{
  //fix for les than 2 digit in min1 wont submit
  //alert()
  if(document.getElementById('sec1').value != '')
  {
    document.getElementById('contesVal').value = 'contest1';
  }
  else if(document.getElementById('sec2').value != '')
  {
    document.getElementById('contesVal').value = 'contest2';
  }
  else
  {
    alert('you must enter a valid time in one of the 2 contests');
    return false;
  }
  //***SD
  if(document.getElementById('contesVal').value == 'contest1')
  {
    if(!validateField('min1', regexNum))
    {
      document.getElementById('min1').style.color = 'red';
      document.getElementById('min1').focus();
      return false;
    }
    if(!validateField('sec1', regexNum))
    {
      document.getElementById('sec1').style.color = 'red';
      document.getElementById('sec1').focus();
      return false;
    }
    if(!validateField('mil1', regexNum))
    {
      document.getElementById('mil1').style.color = 'red';
      document.getElementById('mil1').focus();
      return false;
    }
  }
  else
  {
    if(!validateField('min2', regexNum))
    {
      document.getElementById('min2').style.color = 'red';
      document.getElementById('min2').focus();
      return false;
    }
    if(!validateField('sec2', regexNum))
    {
      document.getElementById('sec2').style.color = 'red';
      document.getElementById('sec2').focus();
      return false;
    }
    if(!validateField('mil2', regexNum))
    {
      document.getElementById('mil2').style.color = 'red';
      document.getElementById('mil2').focus();
      return false;
    }
  }
  f.submit();
}

//***SD
function ChangeFormVisualPcodeBase(elemid, divexoffset) {
  
  YUI().use('node', function(Y){
    ydropdown = Y.Node.get(elemid);
    selectedvalue = ydropdown.get('options').item(ydropdown.get('selectedIndex')).get('value');
    
    lblPcode = Y.Node.get('#a-pcode');
    pcodeExplainDiv = Y.Node.get('#div-pcode-explain');
    divex  = Y.Node.get('#div-ex');
    divex.setStyles({left:206, bottom:-58+divexoffset});
    txtpcode  = Y.Node.get('#pcode_id');
    
    if (selectedvalue == 'usa') {
      lblPcode.setContent('Zip code:');
      lblPcode.setStyle('visibility', 'visible');
      divex.setContent(' (ex: 12345 or 12345-1234)');
      divex.setStyle('visibility', 'visible');
      divex.setStyle('left', '206px');
      pcodeExplainDiv.setStyle('visibility', 'hidden');
      txtpcode.setStyle('visibility', 'visible');
      txtpcode.setAttribute('maxlength', '10');
      txtpcode.setStyle('width', '101px');
    }
    else {
      lblPcode.setContent('Postal code:');
      if(selectedvalue == 'Canada') {
        lblPcode.setStyle('visibility', 'visible');
        divex.setContent(' (ex: A9A 9A9)');
        divex.setStyle('visibility', 'visible');
        divex.setStyle('left', '173px');
        pcodeExplainDiv.setStyle('visibility', 'visible');
        txtpcode.setStyle('visibility', 'visible');
        txtpcode.setAttribute('maxlength', '7');
        txtpcode.setStyle('width', '70px');
      }
      else {
        lblPcode.setStyle('visibility', 'hidden');
        divex.setStyle('visibility', 'hidden');
        pcodeExplainDiv.setStyle('visibility', 'hidden');
        txtpcode.setStyle('visibility', 'hidden');
      }
    }
  }
  );
}

function My123ValidatePC(txtpcode, drpdown) {
  
  YUI().use('node', function(Y){
    ydropdown = Y.Node.get(drpdown);
    selectedvalue = ydropdown.get('options').item(ydropdown.get('selectedIndex')).get('value');
    
    if (selectedvalue == 'usa') {
      //return ValidateUSZipCode(txtpcode.value); //leave commented until we decide to validate US zip code
    }
    else if(selectedvalue == 'Other') {
      //other validation for now no validation
      return true;
    }
    else {
      //Canada validation
      if(typeof(validatePC) == "function")
        return validatePC(txtpcode, true, false, true);
    }
    return true;
  });
}

function ValidateUSZipCode(zip) {
  //US validation if zip is empty we leave it that way, if not empty it has to be in either 12345 or 12345-1234 format
      if(zip) {
        if(zip.length == 5) {
          var patt1 = new RegExp('[0-9]{5}');
          if(patt1.exec(zip)) {
            return true;
          }
          else {
          alert('The zip code specified is not valid. Please try again.');
          return false;
          }
        }
        else if(zip.length == 10) {
          var patt2 = new RegExp('[0-9]{5}-[0-9]{4}');
          if(patt2.exec(zip)) {
            return true;
          }
          else {
          alert('The zip code specified is not valid. Please try again.');
          return false;
          }
        }
        else {
          alert('The zip code specified is not valid. Please try again.');
          return false;
        }
      }
}
//***SD
