// Freelancers -----------------------
function setCookie(cookieName, cookieValue, expires, path, domain, secure) {
  var now = new Date();
  var oneyear = new Date(now.getTime() + 1000*60*60*24*365);
  document.cookie =
    escape(cookieName) + '=' + escape(cookieValue)
    + (expires ? '; expires=' + expires.toGMTString() : '; expires=' + oneyear.toGMTString())
    + (path ? '; path=' + path : '')
    + (domain ? '; domain=' + domain : '')
    + (secure ? '; secure' : '');
};
function GetCookie( name ){
var start = document.cookie.indexOf(" " + name + "=");
var len   = start+name.length+2;
if ( start == -1 ){
    start = document.cookie.indexOf(name + "=");
    if (start != 0)
        return null;
    len   = start+name.length+1;
}
var end = document.cookie.indexOf( ";", len );
if ( end == -1 )
    end = document.cookie.length;
return unescape( document.cookie.substring(len,end) );
}
function getElementById(id){
    if (document.getElementById && document.getElementById(id))
        return document.getElementById(id);
    else if (document.id)
        return document.id;
    else if (document.all)
        return document.all.id;
    else
        return null;
}
function controls(n){
        var p,i,x,d=document;
        if(!(x=d.getElementById(n))&&d.all){x=d.all[n];}
        if(!x){for(i=0;!x&&i<d.forms.length;i++){x=d.forms[i][n];}
                if(!x){if(d.layers){for(i=0;!x&&d.layers&&i<d.layers.length;i++){x=controls(n,d.layers[i].document)}}}
        }
        return x;
}
function FillName(){
var username = GetCookie('username');
var f_username = GetCookie('f_username');
var password = GetCookie('password');
var f_password = GetCookie('f_password');
var logindiv = getElementById('login');

if (username && password) {
 controls('div_form').style.display = 'none';
 controls('hello_b').innerHTML = "Welcome, <b>" + username + "</b>";
// controls('hello_f').innerHTML = "";
 controls('div_menu_b').style.display = 'block';
/// controls('div_menu_f').style.display = 'none';
}
if (f_username && f_password){
 controls('div_form').style.display = 'none';
 controls('hello_f').innerHTML = "Welcome, <b>" + f_username + "</b>";
// controls('hello_b').innerHTML = "";
 controls('div_menu_f').style.display = 'block';
 //controls('div_menu_b').style.display = 'none';
}

if (username)        uname = username;
else if (f_username) uname = f_username;
else                 uname = '';
controls('username').value = uname;
}

// prepare forms -----------------------
function submitonce(theform){
/*  //disable-----
if (document.all||document.getElementById){
 //screen thru every element in the form, and hunt down "submit" and "reset"
 for (i=0;i<theform.length;i++){
  var tempobj=theform.elements[i]
  if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
   //disable em
   tempobj.disabled=true
  }
 }
*/
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;
  if(!d) d=document;
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
  }
  if(!(x=d[n])&&d.all) x=d.all[n];
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n);
  return x;
}


// Validate form
// by DimS y88@yandex.ru
var validateForm = '';
var validFields = new Array();
var obj_name    = 1;
var obj_type    = 2;
var obj_error   = 3;

function notValidField(obj, type) {
if (obj) {
        switch( type ) {
        case 'checkbox':
             if (!obj.checked ) {return 'must check checkbox.'}
             break;
        case 'select':
             if (!obj.options[obj.selectedIndex].value ) {return 'must selected.'}
             break;
        case 'number':
             if (!obj.value.match (/^[0-9\., ]+$/) ) {return 'must contain a number.'}
             break;
        case 'email':
             if (!obj.value.match (/^[^@]+@([^@\.]{2,}\.)+[^@\.]{2,}$/i)) {return 'must contain an e-mail address.'}
             break;
        case 'password':
             if (!obj.value.match (/^.{4,}$/)) {return 'must contain at least 4 symbols.'}
             break;
        default:
             if (obj.value.length<=0) {return 'is required.'}
    }
}
    return false;
}

function markFields() {
 var obj,valid,i;
 for (i=0; i<(validFields.length); i++) {
   obj = MM_findObj(validFields[i][0]);
   if (obj) {
     if (notValidField(obj, validFields[i][obj_type])) {
      if( obj.className.indexOf('fillError')==-1 ) {
        obj.className = obj.className+' fillError';
      }
     }else{
        obj.className = obj.className.replace(/fillError/g, '');
     }
   }
 }

 window.clearInterval(validateForm);
 validateForm = '';
 validateForm = window.setInterval("markFields()", 1000);
}


function DoValidateForm() {
  var obj,obj_value,errors='';
  for (i=0; i<(validFields.length); i++) {
    obj = MM_findObj(validFields[i][0]);
    if (obj) {
     if (!validFields[i][obj_name]) {validFields[i][obj_name]=obj.name}
     obj_value = obj.value;

     if (err = notValidField(obj, validFields[i][obj_type])) {
        //error
        errors += '- '+validFields[i][obj_name]+' '+err;
        if (validFields[i][obj_error]) {
          errors += ' '+ validFields[i][obj_error];
        }
        errors += '\n';
     }

    }
  }
  if (errors) {
    alert('The following error(s) occurred:\n'+errors);
    return false;
  }else{
    return true;
  }
}

