var ValidatorArray = new Array (); // holds validation statements to be evaluated in OnSubmit
var ValidatorArrayProperties = new Array();
ValidatorArrayProperties.ValidatorSuppress = false;  // if true, skip onSubmit validation

var i18nArray = new Array ();   //  hold translated strings; addressed as i18nArray('msgid');
i18nArray['requiredanswer'] = "Please answer the question. If not sure of what question this refers to, press the space bar.";
i18nArray['entervaluebetween'] = "Enter a value between %1 and %2";
i18nArray['entervaluenogreater'] = "Enter a value of %2 or below";
i18nArray['entervaluenoless'] = "Enter a value of %1 or above";
i18nArray['checknumbermsg'] = "Use 0 through 9, plus and minus, in format 1234";

// initial load for the iFrame.. The Cogix form is submiting to this.
var initialLoad = false;

function onSubmitrhrcpolloscarsredcarpet() {
	initialLoad = true;
	var isSafari = (navigator.userAgent.indexOf("Safari") != -1) ? true : false;
	if(isSafari) updatePoll();
	vwfOnSubmit();
}

function updatePoll() {
	if(initialLoad) {
		ahah('/movies/redcarpet/poll_result.jhtml','poll',waitingPoll);
	}
}

function qhelperrhrcpolloscarsredcarpet(d) {
	return vwfQhelper(d);   //  located in cogix.js
}

function qlengthcheckerrhrcpolloscarsredcarpet(a,b) {
	return vwfQlengthchecker(a,b);  //  located in cogix.js
}

//  Javascript to be used with Standard_ and compatible styles

//  (c) 2006 Cogix Corporation

//  May only be used as a component of a licensed Cogix product



function vwfOnSubmit() {

	if ( ValidatorArrayProperties == null

		|| ValidatorArrayProperties.ValidatorSuppress == true

		|| ValidatorArray == null ) // if broken, don't crash

		return true;

		for ( var k = 0 ; k < ValidatorArray.length ; k ++ ) {

			var validatorstring = ValidatorArray [k] ;

			var chk = eval ( validatorstring );

			if ( chk == false )

			return false;

		}

		return true;

	}



	function checkQuestionAnswered (group,empty,valuelow,valuehigh,valuetype) {

		if ( group == null || empty == null || valuelow == null || valuehigh == null || valuetype == null )

		return true;

		var emptyCheck = empty != " ";

		var rangeCheck = valuelow != "" || valuehigh != "" ;

		var numericCheck = valuetype == "2";



		var bgroup = false;

		if ( group.type == "select-one") {

			if ( ! emptyCheck || group.value != "" )

			return true;

		}

		else if ( group.type == "textarea") {

			if ( ! emptyCheck || group.value != "" )

			return true;

		}

		else if ( group.type == "text") {

			if ( ! emptyCheck ) {

				if ( group.value == "" ) {

					return true;

				}

				return checkQuestionAnswerInRange ( group, valuelow, valuehigh, valuetype );

			}



			if ( group.value != "" ) {

				return checkQuestionAnswerInRange ( group, valuelow, valuehigh, valuetype );

			}



		}

		else if ( group.type == "oldtext") {

			if ( ! emptyCheck || group.value != "" )

			return true;

		}

		else if ( group.type == null ) { // radio and checkbox groups

			if ( ! emptyCheck )

			return true;

			bgroup = true;

			for ( var k = 0 ; k < group.length; k ++ )

			if ( group[k].checked )

			return true;

		}

		else

		return true;

		alert (i18nArray['requiredanswer']);

		window.focus();

		if ( bgroup )

		group[0].focus();

		else

		group.focus();

		return false;

	}





	function checkQuestionAnswerInRange ( valuelement, valuelow, valuehigh, valuetype ) {

		if ( valuelow == "" && valuehigh == "" )

		return true;

		var valued = valuelement.value;

		var intcompare = valuetype == "2";

		var intvaluelow = 0;

		var intvaluehigh = 0;

		var intvalued = 0;

		var msg = i18nArray['entervaluebetween'];

		if ( valuelow == "" )

		msg = i18nArray['entervaluenogreater'];

		if ( valuehigh == "" )

		msg = i18nArray['entervaluenoless'];

		msg = msg.replace (/%1/, valuelow );

		msg = msg.replace (/%2/, valuehigh );

		if ( intcompare ) {

			intvalued = parseInt ( valued, 10);

			if ( isNaN (intvalued) ) {

				alert ( msg ); valuelement.focus();

				if ( window != null && window.event != null )

				window.event.returnValue = false;

				return false;

			}

			intvaluelow = parseInt ( valuelow, 10 );

			intvaluehigh = parseInt ( valuehigh, 10 );

		}

		var bOk = true;

		if ( valuelow != null && valuehigh != null ) {

			if ( ! intcompare ) {

				if ( valuelow != "" && valued < valuelow )

				bOk = false;

				if ( valuehigh != "" && valued > valuehigh )

				bOk = false;

			}

			else {

				if ( valuelow != "" && intvalued < intvaluelow )

				bOk = false;

				if ( valuehigh != "" && intvalued > intvaluehigh )

				bOk = false;

			}

		}

		if ( bOk )

		return true;

		vwfAlertAndFocus(msg,valuelement);

		return false;

	}



	function vwfAlertAndFocus ( msg, element ) {

		if ( msg != null )

		alert (msg);

		if ( window != null )

		window.focus();

		element.focus();

		/*

		if ( window != null && window.event != null )

		window.event.returnValue = false;

		*/

	}



	function vwfQhelper(d) {

		var h = document.getElementById ( d );

		if ( h == null )

		return;

		var v = h.style.display;

		var flip = v == 'none' ? 'block' : 'none';

		h.style.display = flip;

	}



	function vwfQlengthchecker(txt,slimit) {

		if ( slimit == null || ''==slimit )

		return;

		var limit = 0 + slimit;

		var nulength = txt.value.length;

		if ( nulength > limit )

		txt.value = txt.value.substring (0,limit);

	}





	function vwfTxtAdjustHeight (elemt) {

		if ( elemt == null || elemt.cols == null )

		return;

		var TxtMinCols = 10;

		var TxtMinRows = 2;

		var cols = elemt.cols;

		if ( cols < TxtMinCols )

		return;

		var lines = elemt.value.split('\n');

		var nlines = 0;

		for ( var k=0; k < lines.length; k++ ) {

			var thisline = lines [k];

			var linesinthisline = Math.floor ( ( thisline.length + cols - 1 ) / cols ) ;

			if ( linesinthisline == 0 )

			linesinthisline = 1;

			nlines += linesinthisline;

		}

		if ( nlines < TxtMinRows )

		nlines = TxtMinRows ;

		if ( nlines != elemt.rows ) {

			elemt.rows = nlines;

		}

	}



	function vfRadio (f,elname,bOther,skipTo) { return; }

	function vfRadioOther (f,elname,bOther,skipTo) {

		for ( var k = 0 ; k < f.elements.length; k++ ) {

			var e = f.elements[k];

			if ( ! bOther) {

				if ( e != null && e.name==elname && e.type == "text" ) {

					e.value = "";

					break;

				}

			}

			else {

				if ( e != null && e.name==elname && e.type == "radio" && e.value == "") {

					e.checked = true;

					break;

				}

			}

		}

	}