/* Contains functions and Sajax calls for YouTube Contest */

var uary = Array();

function gO(x){return document.getElementById(x);}
function sF(x){x.focus(); x.select(); return false;}
function eMsg(o,m){alert(m); return sF(o);}

function display_newuser_form(){
 var div = gO('validInfo');
 var infotbl = gO("infotbl");
 var edtMsg = gO('editmsg');
 gO('uid').value = "";
 div.style.display = "none";
 infotbl.style.display = "block";
 edtMsg.innerHTML = "<span style='color:red'>Please fill in all information to create your new account.</span>"; 
 sF(gO('fname'));
}

function edit_userinfo_form(ua){
 uary = ua;
 var div = gO('validInfo');
 var infotbl = gO('infotbl');
 gO('fname').value = uary['prt_fname'];
 gO('lname').value = uary['prt_lname'];
 gO('addr1').value = uary['prt_addr1'];
 gO('addr2').value = uary['prt_addr2'];
 gO('city').value = uary['prt_city'];
 gO('state').value = uary['prt_state'];
 gO('zip').value = uary['prt_zip'];
 gO('phone').value = uary['prt_phone'];
 gO('uid').value = uary['prt_id'];
 gO('editing').value = "1";
 infotbl.style.display = "block";
 div.style.display = "none";
 sF(gO('fname'));
 return true;
}

function edit_info(){
 edit_userinfo_form(uary); 
}

function display_user_valinfo(ua){
 uary = ua;
 var div = gO('validInfo');
 var infotbl = gO('infotbl');
 gO('uid').value = uary['prt_id'];
 gO('editing').value = "0";
 div.innerHTML =
  "Please validate the following information:<br/><br/>" +
  "<table width=400 cellpadding=1 cellspacing=2><tr>" +
  "<td align=right width=180>First Name: </td><td>" + uary['prt_fname'] + "</td>" +
  "</tr><tr>" +
  "<td align=right>Last Name: </td><td>" + uary['prt_lname'] + "</td>" + 
  "</tr><tr>" +
  "<td align=right>Address: </td><td>" + uary['prt_addr1'] + "</td>" +
  "</tr><tr>" +
  "<td align=right> </td><td>" + uary['prt_addr2'] + "</td>" +
  "</tr><tr>" +
  "<td align=right>City: </td><td>" + uary['prt_city'] + "</td>" +
  "</tr><tr>" +
  "<td align=right>State: </td><td>" + uary['prt_state'] + "</td>" +
  "</tr><tr>" +
  "<td align=right>Zip: </td><td>" + uary['prt_zip'] + "</td>" +
  "</tr><tr>" +
  "<td align=right>Daytime Phone: </td><td>" + uary['prt_phone'] + "</td>" +
  "</tr></table><br/>" +
  "If this information is incorrect, please click <a href=\"javascript:edit_info()\">here</a> to edit.";
 div.style.display = "block";
 infotbl.style.display = "none";
 return true;
}

function validate_email_cb(usrary){
 if (usrary['empty'])
  return display_newuser_form();
 if (usrary['prt_phone'] == "")
  return edit_userinfo_form(usrary); 
 return display_user_valinfo(usrary); 
}

function validate_email(){
 var emlObj = gO('email');
 var email = emlObj.value;
 if (email == "")
  return true;
 if (email.indexOf('@') < 0)
  return eMsg(emlObj, "Please enter a valid e-mail address.");
 x_check_email(email, validate_email_cb);
 return true;
}

function fld_chk(id, cap){
 var o = gO(id);
 if(o.value.trim() == "")
  return eMsg(o, "Please enter a valid value for " + cap);
 return true; 
}

function validate_submission(){
 var rv = true;
 var o = gO('email');
 if(o.value == "" || o.value.indexOf('@') < 0)
  return eMsg(o, "Please enter a valid e-mail address.");
 if(! gO('vrules').checked){
  alert("Please check that you have read the rules of the contest.");
  gO('vrules').focus();
  return false;
 }
 if(gO('bmonth').options[gO('bmonth').selectedIndex].value == "00"){
  alert("Please specify a valid birthdate for your child...");
  return false;
 }
 if(gO('bday').options[gO('bday').selectedIndex].value == "00"){
  alert("Please specify a valid birthdate for your child...");
  return false;
 }
 if(gO('byear').options[gO('byear').selectedIndex].value == "0000"){
  alert("Please specify a valid birthdate for your child...");
  return false;
 }
 if(gO('editing').value == "0")
  return true;
 if(!(rv = fld_chk('fname', 'First Name')))
  return false;
 if(!(rv = fld_chk('lname', 'Last Name')))
  return false;
 if(!(rv = fld_chk('addr1', 'Address Line 1')))
  return false;
 if(!(rv = fld_chk('city', 'City')))
  return false;
 if(!(rv = fld_chk('state', 'State')))
  return false;
 if(!(rv = fld_chk('zip', 'Zip')))
  return false;
 if(!(rv = fld_chk('phone', 'Daytime Phone')))
  return false;
 if(!(rv = fld_chk('vtitle', 'Video Title')))
  return false;
 return rv;
}

function update_vid_cb(rv){
 if(rv['status'] == "ok") {
  alert('Updated entry...');
  document.location.reload();
 } else {
  alert(rv['errmsg']);
  document.location.reload();
 }
}

function update_vid(id){
 var apr = gO("vid_apprv" + id);
 var aprv = apr.options[apr.selectedIndex].value;
 var aprrsn = gO("vid_apprreason" + id).value;
 var ytcode = gO("vid_ytcode" + id).value;
 x_update_approval(id, aprv, aprrsn, ytcode, update_vid_cb);
}

function search_form(){
 var frm = gO('searchform');
 frm.submit(); 
}
