/**
 * Used by sign-up page to validate profile name (public name).
 *
 */
function signinCheckEmail(f) {
   var ret =   signupCheckEmail(f);
   if(ret == false) {
       f.value = 'bad email';
   return false;
   }
   return true;
}
function signinCheckForm(name) {
  var f = $(name);
  var check = true;
  for (var i=0; i<f.elements.length; i++) {
    var check = true;
    if (f.elements[i].name == 'useremail') {
      check = signinCheckEmail(f.elements[i] );
    } else if (f.elements[i].name == 'promocode') {
      check = signupCheckPromoCode(f.elements[i]);
    }
      if(check == false) {
        return false;
      }
    }
  if($('loginFrame')) {
      //static doesn't need this and does not have the loginframe
      Event.observe($('loginFrame'), 'load', finishLogin);
  }
  f.submit();
  
  return false;

}
function signupCheckPromoCode(input) {
    if (input == null) {
        return true;
    }
    /* check for length */
    if (input.value.length != 5) {
        signupSetMsg(input, 'Please enter the 5 digit code');
        return false;
    }
        
    signupSetMsg(input, null);
    return true;
}

finishLogin = function() {     
  if($('loginResponse').innerHTML.stripTags().gsub(/(\s+|&nbsp;)/,'') == "ok") {  
    if($('ibox_contenttargetsignin')) {
      clearIbox('targetsignin');
    }
     
    updateQuickControls();
    return false;

  } else {   
    if($('ibox_contenttargetsignin')) {
      $('ibox_contenttargetsignin').innerHTML = $('loginResponse').innerHTML;
      $('loginResponse').innerHTML=''; //changed xminds 
    } 
    else {
      signinError($('loginResponse').innerHTML);
    }
  }

}

updateQuickControls = function() {
          
  var url ='/homequicksummary';
      new Ajax.Request(url,{
          method: 'get',
          onComplete: function(transport) {
             $('userBox').innerHTML = transport.responseText;
             }
          });
}

registerUpdateQC = updateQuickControls;

checkSignedIn = function() {
      var url ='/user/checkloggedin-1';
      new Ajax.Request(url,{
          method: 'get',
          onComplete: function(transport) {
            if(transport.responseText.stripTags().gsub(/(\s+|&nbsp;)/,'') == "ok") {
               return true;
               }
               else {
               return false;
               }
            }
      });

}
signinError = function (str) {   
    var params = {"width":630,"skin":"signup","type":3};
    if(!createIbox($('targetsignin'), params['skin'])){  
       unhideIbox('targetsignin');
  }
  else {  
         showIbox(str, 'ibox_footer',params,'targetsignin');
         showBG('targetsignin');
         window.onScroll = maintPos('targetsignin');
         window.onResize = maintPos('targetsignin');
         window.scrollTo(0,0);
 }

}
function signupCheckForm(name) {

  var f = $(name);
    var check = true;
    if(f.getAttribute('target') != 'loginFrame') {
        // it's static page
          for (var i=0; i<f.elements.length; i++) {
            var check = true;
            if (f.elements[i].name == 'useremail') {
            check = signupCheckEmail(f.elements[i] );
            } else if (f.elements[i].name == 'userpw') {
            var pw = f.elements[i];
            check = signupCheckPassword(f.elements[i]);
            } else if (f.elements[i].name == 'userpw2') {
            check = signupCheckPassword(f.elements[i]);
            var pw2 = f.elements[i];
            } else if (f.elements[i].name == 'pubprofile') {
            check = signupCheckProfileName(f.elements[i]);
            } else if (f.elements[i].name == 'tos') {
            check = signupCheckTermOfUse(f.elements[i]);
            } else if (f.elements[i].name == 'captchaid') {
            check = signupCheckCaptcha(f.elements[i]);
            } else if (f.elements[i].name == 'promocode') {
            check = signupCheckPromoCode(f.elements[i]);
            }
            if (check == false) {
               return false;
            }
         }
        check = signupSamePw(pw,pw2);
        if (check == false) {
           return false;
        }

    }
  
 // f.submit();

    registernew();  
  return false;
}

 function signupCheckFormVti(name) {
 
  var f = $(name);
    var check = true;
    if(f.getAttribute('target') != 'loginFrame') {
        // it's static page
          for (var i=0; i<f.elements.length; i++) {
            var check = true;
            if (f.elements[i].name == 'useremail') {
            check = signupCheckEmail(f.elements[i] );
            } else if (f.elements[i].name == 'userpw') {
            var pw = f.elements[i];
            check = signupCheckPassword(f.elements[i]);
            } else if (f.elements[i].name == 'userpw2') {
            check = signupCheckPassword(f.elements[i]);
            var pw2 = f.elements[i];
            } else if (f.elements[i].name == 'pubprofile') {
            check = signupCheckProfileName(f.elements[i]);
            } else if (f.elements[i].name == 'tos') {
            check = signupCheckTermOfUse(f.elements[i]);
            } else if (f.elements[i].name == 'captchaid') {
            check = signupCheckCaptcha(f.elements[i]);
            } else if (f.elements[i].name == 'promocode') {
            check = signupCheckPromoCode(f.elements[i]);
            }
            if (check == false) {
               return false;
            }
         }
        check = signupSamePw(pw,pw2);
        if (check == false) {
           return false;
        }

    }
  
 f.submit();
  //  registervti();  
  return false;

 }

function signupSamePw(input,input2) {

if(input.value != input2.value) {
    signupSetMsg(input, 'Passwords do not match!');
    return false;
}
    signupSetMsg(input2, null);


}

function finishSignup() {
  $('ibox_contentreg').innerHTML = $('regResponse').innerHTML;
  if($('registrationSuccess')) {
    registerUpdateQC();
  }
}

function signupCheckProfileName(input) {
    if (input == null) {
        return true;
    }

    /* check for length */
    input.value = input.value.replace(/(^\s*|\s*$)/g, ''); // trim it.
    if (input.value.length < 3) {
        signupSetMsg(input, 'Public profile name must be at least 3 characters long!');
        return false;
    }

    /* check for whitespaces */
    if  (input.value.match(/\s/) != null) {
        signupSetMsg(input, 'Public profile name may not contain whitespaces!');
        return false;
    }

    /* check for non-alphanumeric */
    if  (input.value.match(/[^a-zA-z0-9\._]/) != null) {
        signupSetMsg(input, 'Public profile name may contain alphanumeric, dot or underscore only!');
        return false;
    }
    signupSetMsg(input, null);

    return true;
}

/**
 * Used by sign-up page to validate email
 */
function signupCheckEmail(input) {
    if (input == null) {
        return true;
    }

    /* check for length */
    input.value = input.value.replace(/(^\s*|\s*$)/g, ''); // trim it.
    if (input.value.length < 3) {
        signupSetMsg(input, 'Invalid email format');
        return false;
    }

    /* check for whitespaces */
    if  (input.value.match(/\s/) != null) {
        signupSetMsg(input, 'Invalid email format');
        return false;
    }

    /* check for non-alphanumeric */
    if  (input.value.match(/\S+@\S+\.\S{2,}/) == null) {
        signupSetMsg(input, 'Invalid email format');
        return false;
    }
    
     var splitted = input.value.match("^(.+)@(.+)$");
      if(splitted == null){
       signupSetMsg(input, 'Invalid email format');  
       return false;
      }
      if(splitted[1] != null )
      {
        var regexp_user=/^\"?[\w-_\.\+]*\"?$/;
        if(splitted[1].match(regexp_user) == null){
           signupSetMsg(input, 'Invalid email format');  
           return false;   
        } 
      }
      if(splitted[2] != null)
      {
        var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
        if(splitted[2].match(regexp_domain) == null) 
        {
      var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
      if(splitted[2].match(regexp_ip) == null){   
          signupSetMsg(input, 'Invalid email format');  
        return false;
      }
        }// if
      
      }
  /*  var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if(reg.test(input.value) == false)
    {
     signupSetMsg(input, 'Invalid email format');
        return false;
    } */
    signupSetMsg(input, null);

    return true;
}

/**
 * Used by sign-up page to validate password
 */
function signupCheckPassword(input) {
    if (input == null) {
        return true;
    }

    /* check for whitespaces */
    if  (input.value.match(/\s/) != null) {
        signupSetMsg(input, 'Password may not contain whitespaces!');
        return false;
    }

    /* check for length */
    if (input.value.length < 4) {
        signupSetMsg(input, 'Password must be at least 4 characters long');
        return false;
    }

    signupSetMsg(input, null);

    return true;
}

function signupCheckCaptcha(input) {
    if (input == null) {
        return true;
    }
    /* check for length */
    if (input.value.length != 6) {
        signupSetMsg(input, 'Please type the characters you see in the picture above');
        return false;
    }
    signupSetMsg(input, null);
    return true;
}

function signupCheckTermOfUse(input) {
    if (input == null) {
        return true;
    }

    /* check for length */
    if (input.checked == false ) {
        signupSetMsg(input, 'Please agree to the terms of use');
        return false;
    }
    
    if(input.checked == true) { 
       signupSetMsg(input, 'terms of use');
        return true;
    }

    //signupSetMsg(input, 'terms of use');

    //return true;
}

function signupSetMsg(input, msg) {
/*    if(!($('reg')) || !($('contactuser')) ) { 
        return false;
    } */
  if (input.id == 'user_email0') {
    return false;
  }
    var msgBox = $(input.id).next() ;
    if (msg == null) { 
        msgBox.innerHTML = '';
        msgBox.hide();
    } else {
        msgBox.innerHTML = msg;
        msgBox.show();
    }

}

clearIbox = function(str) {
    $(str).innerHTML ='';
    if($('introFlash')) {
        $('introFlash').style.visibility = "visible";
    }
    return false;
}
function register() { 
  
    var params = {"width":630,"skin":"signup","type":3};
  var url ="/register/signup-1/popupwindow-4/html-1/rand-"+Math.random();
    if(!createIbox($('reg'), params['skin'])){
       unhideIbox('reg');
  }
  else {
      new Ajax.Request(url,{
          method: 'get',
          onComplete: function(transport) {
              showIbox(transport.responseText, 'ibox_footer',params,'reg');
              showBG('reg');
              window.onScroll = maintPos('reg');
              window.onResize = maintPos('reg');
              window.scrollTo(0,0);
                $('useremail3').focus();
          }
      }
  );

  }
}
function registernew(){


 var params = {"width":630,"skin":"signup","type":3};
  var url = "/register/signup-1/popupwindow-4/html-1/rand-"+Math.random() ;  
   new Ajax.Request(url,{
          method: 'post',
          parameters: $('signup').serialize(), 
          onComplete: function(transport) {
         /* alert(transport.responseText);*/ 
              if(transport.responseText==1)
                     clearWorthyIbox('reg');
              showIbox(transport.responseText, 'ibox_footer',params,'reg');
              showBG('regS');
              window.onScroll = maintPos('regS');
              window.onResize = maintPos('regS');
              window.scrollTo(0,0);
              
          }
      }
  );
}



function registervti(){
   alert('registervti');
 var params = {"width":630,"skin":"signup","type":3};
  var url = "/register/signup-1/popupwindow-4/html-1/rand-"+Math.random() ;  
   new Ajax.Request(url,{
          method: 'post',
          parameters: $('signup').serialize(), 
          onComplete: function(transport) {
          
          alert(transport.responseText);
              showIbox(transport.responseText, 'ibox_footer',params,'reg');
              showBG('reg');
              window.onScroll = maintPos('reg');
              window.onResize = maintPos('reg');
              window.scrollTo(0,0);
          }
      }
  );
}


Event.observe(window, 'load', function() {
        if($('createaccount')) {
           Event.observe('createaccount', 'click', register);
        }
        if($('register-btn')) {
           Event.observe('register-btn', 'click', register);
        }
    }
);

showSignUp = function(target) {
  hideIbox('targetsignin');
  register();
}
clearWorthyIbox = function(str) {
    $(str).innerHTML ='';
    if($('introFlash')) {
        $('introFlash').style.visibility = "visible";
    }
   updateQuickControls(); 
    return false;
}