	function checkIfVoted()
	{
		var RadioCounter = 0;
		var CheckboxCounter = 0;
		var SelectCounter = 0;
		var elements = document.MainForm.elements;
		
		nameRadioElements = new Array();
		RadioElements = new Array();
		
		nameCheckboxElements = new Array();
		CheckboxElements = new Array();
		
		nameSelectElements = new Array();
		SelectElements = new Array();
		
		var RadioChecked = 0;
		var CheckboxChecked = 0;
		var SelectChecked = 0;
		
		var RadioExists = false;
		var CheckboxExists = false;
		var SelectExists = false;
		var message = "";
		
		for(i = 0; i < elements.length; i++)
		{
		
		// RADIO COUNT OF ELEMENTS ///////////////////////////////////////////
		
			if(elements[i].type == "radio")
			{
				RadioExists = false;
				if(RadioCounter == 0){
					nameRadioElements[RadioCounter] = elements[i].name;
					RadioElements[RadioCounter] = 1; 
					RadioCounter++;
				}
				else{
					for (j = 0; j < nameRadioElements.length; j++){
						if (elements[i].name == nameRadioElements[j]){
							RadioElements[j] = RadioElements[j] + 1;
							RadioExists = true;
						}
					}
					if (!RadioExists){
							nameRadioElements[RadioCounter] = elements[i].name;
							RadioElements[RadioCounter] = 1;
							RadioCounter++;
					}
				}
			}
			
		// CHECKBOX COUNT OF ELEMENTS ///////////////////////////////////////////	
			
			if(elements[i].type == "checkbox")
			{
				CheckboxExists = false;
				if(CheckboxCounter == 0){
					nameCheckboxElements[CheckboxCounter] = elements[i].name;
					CheckboxElements[CheckboxCounter] = 1; 
					CheckboxCounter++;
				}
				else{
					for (j = 0; j < nameCheckboxElements.length; j++){
						if (elements[i].name == nameCheckboxElements[j]){
							CheckboxElements[j] = CheckboxElements[j] + 1;
							CheckboxExists = true;
						}
					}
					if (!CheckboxExists){
							nameCheckboxElements[CheckboxCounter] = elements[i].name;
							CheckboxElements[CheckboxCounter] = 1;
							CheckboxCounter++;
					}
				}
			}
			
		// SELECT LIST COUNT OF ELEMENTS ///////////////////////////////////////////	
			
			if(elements[i].type == "select-one")
			{
				SelectExists = false;
				if(SelectCounter == 0){
					nameSelectElements[SelectCounter] = elements[i].name;
					SelectElements[SelectCounter] = 1; 
					SelectCounter++;
				}
				else{
					for (j = 0; j < nameSelectElements.length; j++){
						if (elements[i].name == nameSelectElements[j]){
							SelectElements[j] = SelectElements[j] + 1;
							SelectExists = true;
						}
					}
					if (!SelectExists){
							nameSelectElements[SelectCounter] = elements[i].name;
							SelectElements[SelectCounter] = 1;
							SelectCounter++;
					}
				}
			}
		}
		
		
		for (i = 0; i < elements.length ; i++){
			if(elements[i].type == "radio"){
				if(elements[i].checked){
					RadioChecked++;	
				}
			}
			if(elements[i].type == "checkbox"){
				if(elements[i].checked){
					CheckboxChecked++;	
				}
			}	
			if(elements[i].type == "select-one"){
				if(elements[i].selectedIndex > 0){
					SelectChecked++;	
				}
			}	
		}
		
		if ((RadioChecked < (nameRadioElements.length)) || (CheckboxChecked < (nameCheckboxElements.length)) || (SelectChecked < (nameSelectElements.length))){
			window.alert("Por favor, contesta todas las preguntas.");
			return false;
		} else {
			return true;
		}
	}
	function replacer (search, replace, str) {
		var tmp_arr = [];
		tmp_arr = str.split(search);
		return tmp_arr.join(replace);
	}
	function preClean (str) {
		var ret = (str+'').toString();
		var firstChars = {}, charSearch = '', charReplace ='';
		/*firstChars['/'] = '-';
		firstChars['('] = '';
		firstChars[')'] = '';
		firstChars[';'] = '.';
		firstChars[':'] = '';*/
		firstChars[' '] = '';
		for (charSearch in firstChars) {
			charReplace = firstChars[charSearch];
			ret = replacer(charSearch, charReplace, ret);
		}
		return ret;
		
	}
	function urlencode (str) {
		var hash_map = {}, unicodeStr='', hexEscStr='';
		var ret = (str+'').toString();
		
		// The hash_map is identical to the one in urldecode.
		hash_map["'"]   = '%27';
		hash_map['(']   = '%28';
		hash_map[')']   = '%29';
		hash_map['*']   = '%2A';
		hash_map['~']   = '%7E';
		hash_map['!']   = '%21';
		hash_map['%20'] = '+';
		hash_map['\u00DC'] = '%DC';
		hash_map['\u00FC'] = '%FC';
		hash_map['\u00C4'] = '%D4';
		hash_map['\u00E4'] = '%E4';
		hash_map['\u00D6'] = '%D6';
		hash_map['\u00F6'] = '%F6';
		hash_map['\u00DF'] = '%DF';
		hash_map['\u20AC'] = '%80';
		hash_map['\u0081'] = '%81';
		hash_map['\u201A'] = '%82';
		hash_map['\u0192'] = '%83';
		hash_map['\u201E'] = '%84';
		hash_map['\u2026'] = '%85';
		hash_map['\u2020'] = '%86';
		hash_map['\u2021'] = '%87';
		hash_map['\u02C6'] = '%88';
		hash_map['\u2030'] = '%89';
		hash_map['\u0160'] = '%8A';
		hash_map['\u2039'] = '%8B';
		hash_map['\u0152'] = '%8C';
		hash_map['\u008D'] = '%8D';
		hash_map['\u017D'] = '%8E';
		hash_map['\u008F'] = '%8F';
		hash_map['\u0090'] = '%90';
		hash_map['\u2018'] = '%91';
		hash_map['\u2019'] = '%92';
		hash_map['\u201C'] = '%93';
		hash_map['\u201D'] = '%94';
		hash_map['\u2022'] = '%95';
		hash_map['\u2013'] = '%96';
		hash_map['\u2014'] = '%97';
		hash_map['\u02DC'] = '%98';
		hash_map['\u2122'] = '%99';
		hash_map['\u0161'] = '%9A';
		hash_map['\u203A'] = '%9B';
		hash_map['\u0153'] = '%9C';
		hash_map['\u009D'] = '%9D';
		hash_map['\u017E'] = '%9E';
		hash_map['\u0178'] = '%9F';
		hash_map['%00'] = '';
		
		
		// Begin with encodeURIComponent, which most resembles PHP's encoding functions
		ret = encodeURIComponent(ret);
		 for (unicodeStr in hash_map) {
			hexEscStr = hash_map[unicodeStr];
			ret = replacer(unicodeStr, hexEscStr, ret); // Custom replace. No regexing
		}
		// Uppercase for full PHP compatibility
		return ret.replace(/(\%([a-z0-9]{2}))/g, function (full, m1, m2) {
			return "%"+m2.toUpperCase();
		});
	}
	function AllowNoDups(){
		// Check for an existing cookie
		var thisDate = new Date();
		thisDate.setMonth(thisDate.getMonth() + 3);
		var expDate = thisDate.toGMTString();
		var f = eval(document.MainForm);	
		nguserid	= new String(GetCookie('NGUserID'));
		username	= new String(GetCookie('uv'));
		mwcuid		= new String(GetCookie('mwcuid'));
		useragent	= new String(navigator.userAgent);
		var hex1, hex2, hex3='';// encryption - encryption
		for (i= username.length - 3 ; i >= -1; i = i - 2){	
			hex1 = username.charAt(i + 2);
			hex2 = username.charAt(i + 1);
			hex1 = parseInt("0x" + hex2 + hex1);
			hex2 = String.fromCharCode(hex1);
			hex3 = hex2 + hex3;
		}
		username = hex3;
		
		var cookie_ls = document.cookie;
		var instance = document.MainForm.pollid.value;
		// if you come up with a cookie indicating this was voted on already
		if (cookie_ls.indexOf(instance) > -1) {
			window.alert('Ya entraste una vez en esta encuesta. Gracias por participar.');
			return false;
		} else {
			f.NGUserID.value	= (nguserid.length <= 50)? nguserid : nguserid.substring(0,49);
			f.NGUserID.value	= (f.NGUserID.value == "null") ? "" : f.NGUserID.value;
			f.username.value	= (username.length <= 50)? username : username.substring(0,49);
			f.username.value	= (f.username.value == "null") ? "" : f.username.value;
			f.mwcuid.value	= (mwcuid.length <= 50)? mwcuid : mwcuid.substring(0,49);
			f.mwcuid.value	= (f.mwcuid.value == "null") ? "" : f.mwcuid.value;
			f.UserAgent.value	= (useragent.length <= 200)? useragent : useragent.substring(0,199);
			f.UserAgent.value	= (f.UserAgent.value == "null") ? "" : f.UserAgent.value;
			document.cookie = instance + "=true; path=/; expires=" + expDate + ";";
			return true;
		}
	}
	function getPostString(submitAnswers) {
		var postString = '';
		if (submitAnswers == true) {
			jQuery("#MainForm :input:checked").each(function() {
				postString += "&" + this.name + "=" + this.value;
			});
			
			jQuery("#MainForm select").each(function() {
				postString += "&" + this.name + "=" + this.value;										   
			});
			jQuery("#MainForm input[class != 'frm_answer']").each(function() {
				postString += "&" + this.name + "=" + this.value;
			});
		} else {
			postString += "&cmd=" + document.MainForm.cmd.value;
			postString += "&pollid=" + document.MainForm.pollid.value;
			postString += "&results=" + document.MainForm.results.value;
			
		}
		return postString.substring(1);
		
	}
	
	function php_urlencode (str) {
		str = escape(str);
		return str.replace(/[*+\/@]|%20|;|%00/g,
			function (s) {
				switch (s) {
					case "*": s = "%2A"; break;
					case "+": s = "%2B"; break;
					case "/": s = "%2F"; break;
					case "@": s = "%40"; break;
					case "%20": s = "+"; break;
					case ";": s = "%3B"; break;
					case "%00": s = ""; break;
				}
			return s;
			}
		);
	}
	function loadPollResults() {
		//document.MainForm.cmd.value = "viewresults";
		var params = getPostString();
		var viewsflash = "http://survey.univision.com/ViewsFlash/servlet/viewsflash";
		var url = php_urlencode(viewsflash + "?" + params);
		jQuery(".uim_encuesta .enc_results").load("/contentroot/uol/10portada/content/jhtml/ajax/NOMETA_ajax_conduit.jhtml?url=" + url + "&encoding=ISO-8859-1", function() {
			jQuery(".uim_encuesta .enc_results .enc_buttons").html('<div class="enc_btn_back"><img onclick="backToPoll();" src="http://u.univision.com/contentroot/uol/art/systemimages/redesign_icons_buttons/NOMETA_gen_return_btn.gif" border="0" /></div>');
			jQuery(".uim_encuesta .enc_form").hide();
			jQuery(".uim_encuesta .enc_results").show();
		});
		
	}
	function submitPoll() {
		if (checkIfVoted() == true) {
			var params = '';
			var dups = AllowNoDups();
			if (dups === true) {
				//document.MainForm.cmd.value = "tally";
				params = getPostString(true);
			} else {
				//document.MainForm.cmd.value = "viewresults";
				params = getPostString();
			}
			params = preClean(params);
			var viewsflash = "http://survey.univision.com/ViewsFlash/servlet/viewsflash";
			var url = urlencode(viewsflash + "?" + params);
			jQuery(".uim_encuesta .enc_results").load("/contentroot/uol/10portada/content/jhtml/ajax/NOMETA_ajax_conduit.jhtml?url=" + url + "&encoding=ISO-8859-1", function() {
				jQuery(".uim_encuesta .enc_form").hide();
				jQuery(".uim_encuesta .enc_results").show();
			});
		}
	}
	function backToPoll() {
		jQuery(".uim_encuesta .enc_results").hide();
		jQuery(".uim_encuesta .enc_form").show();
	}
	
