/* 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) {
	// s is always some url inc. querystring
	var f=document.forms[0+(0)];
	if(oBw.ns4up&&!oBw.ns6){iW=550;iH=570;}
	else{iW=500;iH=430;}
	
	if(s.indexOf('?') == -1){
		s=s+"?"+yih_sFNField+"=";
	}else{
		s=s+"&"+yih_sFNField+"=";
	}
	
	if( _proxy_jslib_handle(f, (yih_sFNField), 0, 0)!=null){s=s+escape( _proxy_jslib_handle( _proxy_jslib_handle(f, (yih_sFNField), 0, 0), 'value', '', 0, 0));}
	s=s+"&"+yih_sLNField+"=";
	if( _proxy_jslib_handle(f, (yih_sLNField), 0, 0)!=null){s=s+escape( _proxy_jslib_handle( _proxy_jslib_handle(f, (yih_sLNField), 0, 0), 'value', '', 0, 0));}
	s=s+"&"+".id"+"=";
	if( _proxy_jslib_handle(f, (yih_sIDField), 0, 0)!=null){s=s+escape( _proxy_jslib_handle( _proxy_jslib_handle(f, (yih_sIDField), 0, 0), 'value', '', 0, 0));}
	s=s+"&"+yih_sUField+"=";
	if( _proxy_jslib_handle(f, (yih_sUField), 0, 0)!=null){s=s+escape( _proxy_jslib_handle( _proxy_jslib_handle(f, (yih_sUField), 0, 0), 'value', '', 0, 0));}
	
	id_helper =  _proxy_jslib_handle(window, 'open', '', 1, 0)(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 =  _proxy_jslib_handle(window, 'opener', '', 0, 0).document.forms[0+(0)];
	if(yih_oPf!=null){ _proxy_jslib_assign('',  _proxy_jslib_handle(yih_oPf, (yih_sIDField), 0, 0), 'value', '=', (s));}
}

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

// Error dialog HTML generator object
function yih_Message() {
	 _proxy_jslib_assign('', 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+(0)];

	// Empty out error containers
	yih_sErrorMessage="";
	yih_sErrorField="";
	for (var i=0;i<yih_aFields.length;i++) {
		switch( _proxy_jslib_handle(yih_aFields, (i), 0, 0)[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)&& _proxy_jslib_handle(yih_aErrs, (ec), 0, 0)){
		yih_sErrorMessage+= _proxy_jslib_handle(yih_aErrs, (ec), 0, 0)+"<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( _proxy_jslib_handle(yih_f.elements, ( _proxy_jslib_handle(yih_aFields, (i), 0, 0)[1]), 0, 0)!=null){
		sYID =  _proxy_jslib_handle( _proxy_jslib_handle(yih_f.elements, ( _proxy_jslib_handle(yih_aFields, (i), 0, 0)[1]), 0, 0), 'value', '', 0, 0);
		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= _proxy_jslib_handle(yih_aFields, (i), 0, 0)[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( _proxy_jslib_handle(yih_f.elements, ( _proxy_jslib_handle(yih_aFields, (i), 0, 0)[1]+"1"), 0, 0)!=null){
		var sW1= _proxy_jslib_handle( _proxy_jslib_handle(yih_f.elements, ( _proxy_jslib_handle(yih_aFields, (i), 0, 0)[1]+"1"), 0, 0), 'value', '', 0, 0);
		var sW2= _proxy_jslib_handle( _proxy_jslib_handle(yih_f.elements, ( _proxy_jslib_handle(yih_aFields, (i), 0, 0)[1]+"2"), 0, 0), 'value', '', 0, 0);
		var sW3= _proxy_jslib_handle( _proxy_jslib_handle(yih_f.elements, ( _proxy_jslib_handle(yih_aFields, (i), 0, 0)[1]+"3"), 0, 0), 'value', '', 0, 0);
		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= _proxy_jslib_handle(yih_aFields, (i), 0, 0)[1]+"1";
			yih_appendErrs(iEC);
		}
	}
}

// Display inline error message
function yih_showMsg() {
	var oPgMsg=yg_getObj(yih_sErrMsgDiv);
	if (oPgMsg!=null){
		var sPgHtml= _proxy_jslib_handle(yih_sMsgHTML, 'top', '', 0, 0)+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(_proxy_jslib_proxify_js(("yih_f.elements['"+yih_sErrorField+"']"), 0, 0) );
		o.focus();
		if(!o.options)o.select();
	}
}

function yih_checkEnter() {
} ;
_proxy_jslib_flush_write_buffers() ;