/* Author: ekao */

// Global Variables
var yih_bEnter;
var yih_f=null;
var yih_sPIDField = "id";
var yih_sErrorMessage="";
var yih_sErrorField="";
var yih_sErrMsgDiv="yihpgerr";
var yih_sTxtMsgDiv="yihpgtxt";
var yih_sErrorRowColor="#fffbb8";
var yih_sCorrectRowColor="#fff";
var yih_aFields=new Array();
var yih_aErrorRowIDs=new Array();
var yih_aErrs=new Array();
var yih_sMsgHTML;

// Specific form elements
var yih_sFNField = ".fn";
var yih_sLNField = ".ln";
var yih_sIDField = "login";
var yih_sUField = ".u";

// Specific user actions
var uCheck = -1;
var SUGGEST_IDS = 0;
var CHECK_AVAIL = 1;

// Set handle on and open id_helper popup window
var id_helper;
function yih_idpop(s){
	var f=document.forms[0];
	if(oBw.ns4up&&!oBw.ns6){iW=550;iH=570;}
	else{iW=500;iH=430;}
	s=s+"?"+yih_sFNField+"=";
	if(f[yih_sFNField]!=null){s=s+escape(f[yih_sFNField].value);}
	s=s+"&"+yih_sLNField+"=";
	if(f[yih_sLNField]!=null){s=s+escape(f[yih_sLNField].value);}
	s=s+"&"+".id"+"=";
	if(f[yih_sIDField]!=null){s=s+escape(f[yih_sIDField].value);}
	s=s+"&"+yih_sUField+"=";
	if(f[yih_sUField]!=null){s=s+escape(f[yih_sUField].value);}
	id_helper = window.open(s,"id_helper","top=100,left=200,width="+iW+",height="+iH+",scrollbars=auto,resizable=yes");
	id_helper.focus();
}

// Insert ID into parent form
function yih_insertID(s){
	yih_oPf = window.opener.document.forms[0];
	if(yih_oPf!=null){yih_oPf[yih_sIDField].value=s;}
}

// Get selected ID from list of radio buttons
function yih_getID(){
	yih_fe=document.forms[0].elements;
	for(var i=0;i<yih_fe.length;i++){
		if((yih_fe[i].type=="radio")&&(yih_fe[i].checked)){return(yih_fe[i].value);break;}
	}
}

// Error dialog HTML generator object
function yih_Message(){
	this.top='<table cellpadding=0 cellspacing=0 border=0><tr valign=top><td><img src=https://sec.yimg.com/i/us/nt/gr/16_warn.gif width=16 height=16 border=0 alt=""></td><td width=10><spacer type=block width=10 height=1></td><td class=yecerrbg><b>';
	this.middle='</b>';
	this.bottom='</td></tr></table>';
}

// Validate form on submit
function yih_submitForm(){
	oBw = new yg_Browser();
	yih_sMsgHTML=new yih_Message("html");

	if(oBw.ie5||oBw.ns6){
		if(yih_isInputValid()){return true;}
		else{yih_focusError();return false;}
	}
	//else{alert("Form submitted");}
}

// Validate input fields
function yih_isInputValid(){
	yih_f=document.forms[0];

	// Empty out error containers
	yih_sErrorMessage="";
	yih_sErrorField="";
	for (var i=0;i<yih_aFields.length;i++) {
		switch(yih_aFields[i][0]){
			case "yid":
				if(uClick==CHECK_AVAIL){yih_isYID(i);}
				break;
			case "swords":
				if(uClick==SUGGEST_IDS){yih_isSWords(i);}
				break;
			default:
			break;
		}
	}
	if(yih_sErrorMessage.length==0){return true;}
	else yih_showMsg();
}

// Append to existing message of errors
function yih_appendErrs(ec){
	if((yih_aErrs.length>ec)&&yih_aErrs[ec]){
		yih_sErrorMessage+=yih_aErrs[ec]+"<br>";
	}
}

// Validate Y!ID; Y!ID must be greater than 2 characters and be alphanumeric
function yih_isYID(i){
	var iEC=105;
	var bErr=0;
        var r0=/^[^a-zA-Z]/; //must start with a letter
        var r1=/^[a-zA-Z][\w]+$/;
        var r2=/_$/; // cannot end with a _
        var r3=/__/; // no two consecutive __
	if(yih_f.elements[yih_aFields[i][1]]!=null){
		sYID = yih_f.elements[yih_aFields[i][1]].value;
		if((yg_isEmpty(sYID))||(sYID.length<2)){bErr=1;iEC=101;}
                else if (r0.test(sYID)) { bErr=1; iEC=109;}
		else if(!r1.test(sYID)) { bErr=1;iEC=103;}
                else if (r2.test(sYID)) { bErr=1; iEC=107;}
                else if (r3.test(sYID)) { bErr=1; iEC=108;}
	
		if(bErr){
			if(yih_sErrorField=="")yih_sErrorField=yih_aFields[i][1];
			yih_appendErrs(iEC);
		}
	}
}

// Validate suggestion words; words must be alphanumeric and at least one suggestion word must be entered
function yih_isSWords(i){
	var iEC=1400;
	var bErr=0;
	if(yih_f.elements[yih_aFields[i][1]+"1"]!=null){
		var sW1=yih_f.elements[yih_aFields[i][1]+"1"].value;
		var sW2=yih_f.elements[yih_aFields[i][1]+"2"].value;
		var sW3=yih_f.elements[yih_aFields[i][1]+"3"].value;
		if(yg_isEmpty(sW1)&&yg_isEmpty(sW2)&&yg_isEmpty(sW3)){bErr=1;iEC=1401;}
		else if ((!yg_isEmpty(sW1)&&(!yg_isAlphanumeric(sW1)))||(!yg_isEmpty(sW2)
			&&(!yg_isAlphanumeric(sW2)))||(!yg_isEmpty(sW3)&&(!yg_isAlphanumeric(sW3)))){bErr=1;iEC=1402;}
		
		if(bErr){
			if(yih_sErrorField=="")yih_sErrorField=yih_aFields[i][1]+"1";
			yih_appendErrs(iEC);
		}
	}
}

// Display inline error message
function yih_showMsg(){
	var oPgMsg=yg_getObj(yih_sErrMsgDiv);
	if (oPgMsg!=null){
		var sPgHtml=yih_sMsgHTML.top+yih_sMsgHTML.middle+yih_sErrorMessage+yih_sMsgHTML.bottom;
		yg_writeHTML(oPgMsg,sPgHtml);
		yg_show(oPgMsg,"block");
	}
	// Hide original text on page
	yg_hide(yg_getObj(yih_sTxtMsgDiv),"none");
}

// Highlight fields with error background color
function yih_highlightField(s,c){
	var o=yg_getObj(s);
	if (o!=null){
		if((typeof(o)!="null")||(typeof(o)!="undefined")){
			yg_setStyle(o,"background",c);
		}
	}
}

// Focus error on error field
function yih_focusError(){
	if(!yg_isEmpty(yih_sErrorField)){
		var o=eval("yih_f.elements['"+yih_sErrorField+"']");
		o.focus();
		if(!o.options)o.select();
	}
}

function yih_checkEnter(){
}
