// JScript File

/* ScamMeterDetail */
	function setForm(answer){
		var curr_question = document.getElementById("curr_question").value;
		var answers = document.getElementById("answers");
		var arrAnswers = answers.value.split(' ');
		var arrButtons = document.getElementsByName('answer_button');
		var position = -1;

		for (var i=0; i<arrButtons.length; i++){
			var q = arrButtons[i].id.substr(1);	// answer_id
			for (var j=0; j<arrAnswers.length; j++){
				if(q == arrAnswers[j]) {
					arrAnswers.splice(j,1);
					break;
				}
				if (arrAnswers[j] == '') arrAnswers.splice(j,1);
			}
			arrButtons[i].src = "img/scammeter_box_unchecked.gif";
		}

		arrAnswers.push(answer);		

		answers.value = '';

		arrAnswers.sort(sortArray);

		for (i=0; i<arrAnswers.length; i++){
			answers.value += arrAnswers[i] + ' ';
			if (!(document.getElementById('q'+arrAnswers[i]) == null))
				document.getElementById("q"+arrAnswers[i]).src = "img/scammeter_box_checked.gif";
		}
	}

	function sortArray(A,B){
		return (parseInt(A)-parseInt(B));
	}
	
	function checkAndSubmit(v){
		// v is either 1 or -1; 1 is for next question, -1 is for previous question
		if (v==1){
			if (!isFormValid('ScamMeter')) {
				return;
			}
		}
		var cq = document.getElementById("curr_question");
		var qc = document.getElementById("question_count");
		if (cq.value==qc.value && v==1){	// submit quiz
			var answers = document.getElementById("answers");
			var arrAnswers = answers.value.split(' ');

			if ((arrAnswers.length-1) == qc.value) {
				document.getElementById("quiz_form").action = 'ScamMeterProc.aspx';
				// set results XML string and store it in form control
				document.getElementById("resultsXML").value = setResultsXML();
			}
			else {
				// 
				//alert('Please don\'t use Back button to navigate through Scam Meter. We have to restart quiz.');
				alert('Please don\'t use your back button to navigate through this quiz. Click OK to start the Scam Meter quiz over.');
				document.getElementById("quiz_form").action = 'ScamMeter.aspx';
			}
		}
		else {
			cq.value = parseInt(cq.value)+ v;
			// empty control that holds XML string
			document.getElementById("resultsXML").value = '';
		}
		document.getElementById("quiz_form").submit();
	}

	function setResultsXML(){
		var XMLString = '<root>';
		var arrAnswers = document.getElementById("answers").value.split(' ');
		var arrQuestions = document.getElementById("questions").value.split(' ');
		
		for (var i=0; i<arrAnswers.length; i++){
			if (arrQuestions[i].replace(/^\s+/,'') != ''){	// RTrim
				XMLString += '<result ques_id="' + arrQuestions[i] + '" ans_id="' + arrAnswers[i] + '" />';
			}
		}
		XMLString += '</root>';

		return XMLString;
	}
/* end of ScamMeterDetail */

/* Report a scam form rptscam.aspx */
	function aboutThem(){
		var doc = window.open(null, null,"width=640,height=160,resizable=yes,top=200,left=200").document;
		doc.write('<html><head>');
		doc.write('<title>What do you know about them?</title>');
		doc.write('<link rel="stylesheet" href="/style/structure.css" type="text/css" media="screen">');
		doc.write('<link rel="stylesheet" href="/style/style.css" type="text/css" media="screen">');
		doc.write('</head>');
		doc.write('<body><div id="main">');
		doc.write('For example:');
		doc.write('<div style="width:100%;"');
		doc.write('<ul><li>Where do they work?</li>');
		doc.write('<li>Are the affiliated with a group?</li>');
		doc.write('<li>What is their age, phone number, address, or spouse\'s name?</li>');
		doc.write('</ul></div></div></body></html>');
	}
	
	function addMoreThem(){	// id=btnAdd1
		var allWhos = document.getElementsByName('txtWho');
		var rowCount = document.getElementById('txtRowCount');
		var counter;
		
		counter = parseInt(rowCount.value);
		// check if all name fields contain some text
		for (var i=0; i<counter; i++){
			if (isEmpty(allWhos[i].value)){
				alert('Please enter Name or Group in row ' + (i+1) + '.');
				allWhos[i].focus();
				return;
			}
		}
		// increase counter to add new row
		counter += 1;	
		// create new row, add cells and content
		var Table = document.getElementById('tbMain');
		var oTR = document.createElement('TR');
		var oTD1 = document.createElement('TD');
		oTD1.innerHTML = counter + '.';
		oTD1.setAttribute('valign', 'top', 0)
		var oTD2 = document.createElement('TD');
		oTD2.setAttribute('valign', 'top', 0)
		oTD2.innerHTML = '<input id="txtWho' + counter + '" name="txtWho" type="text" class="scamInput" onkeyup="limitText(this, 200);"/></td>';
		var oTD3 = document.createElement('TD');
		oTD3.innerHTML = '<input class="scamExpandInput" id="txtWhat' + counter + '" style="display:; " name="txtWhat" type="text" onkeyup="limitText(this, 2000);syncWhat(this,' + counter + ');"/>'+
							'<textarea class="scamExpandInput" id="txtExpandedWhat' + counter + '" style="display:none; " name="txtExpandedWhat" rows="5" onkeyup="limitText(this, 2000);syncWhat(this,' + counter + ');"></textarea>';
		var oTD4 = document.createElement('TD');
		oTD4.innerHTML = '<a class="scamFormSmallButton" id="btnExpand' + counter + '" href="javascript:expandTheWhat(' + counter + ');">+</a>';
		oTD4.setAttribute('valign', 'top', 0);
		oTR.appendChild(oTD1);
		oTR.appendChild(oTD2);
		oTR.appendChild(oTD3);
		oTR.appendChild(oTD4);
		Table.appendChild(oTR);
		// store the number of rows displayed
		rowCount.value = counter;
	}
	
	function expandTheWhat(Row){
		var TheWhat = document.getElementById('txtWhat'+Row);
		var TheExpandedWhat = document.getElementById('txtExpandedWhat'+Row);
		var ExpandButton = document.getElementById('btnExpand'+Row);
		var State = (TheWhat.style.display == 'none' ? 0 : 1);
		// if textarea is hidden display it and hide textbox
		if (State == 1) {
			TheWhat.style.display = 'none';			
			TheExpandedWhat.style.display = '';
			TheExpandedWhat.value = TheWhat.value;
			ExpandButton.innerHTML = '-';
		}
		else{
			TheWhat.style.display = '';			
			TheExpandedWhat.style.display = 'none';	
			TheWhat.value = TheExpandedWhat.value.replace(/\n/g, ' ');
			ExpandButton.innerHTML = '+';
		}
	}

	function syncWhat(TextBox, Row){
		var TheWhat = document.getElementById('txtWhat'+Row);
		var TheExpandedWhat = document.getElementById('txtExpandedWhat'+Row);
		
		if (TextBox == TheWhat) {
			TheExpandedWhat.value = TextBox.value;
		}
		else {
			TheWhat.value = TextBox.value;
		}
	}
	
	function submitScam(){
		if (isFormValid('ScamForm')){
			// prepare data
			getScamFormData();
			document.getElementById('ScamForm').submit();
		}
		else{
			//alert('Please enter information about at least one party involved in the scam.');
		}
	}

	function getScamFormData(){
		var rowCount = document.getElementsByName('txtWho').length;
		var result = '';
		var txtWho;
		var txtWhat;
		var FieldSeparator = '::';
		var RowSeparator = ';;';

		for (var i=0; i<rowCount; i++){
			txtWho = document.getElementById('txtWho'+(i+1));
			txtWhat = document.getElementById('txtWhat'+(i+1));
			if (txtWho.value != '' || txtWhat.value != ''){
				result += txtWho.value +  FieldSeparator + txtWhat.value + RowSeparator;
			}
		}
		if (result.length != 0){
			document.getElementById('txtResultXML').value = result;
		}
	}
	
	function openLegalPage(){
		window.open('index.aspx?id=35', null,"width=750,height=600,resizable=no,top=100,left=20,scrollbars=yes")
	}
	
/* end of Report a scam form rptscam.aspx */

// all pages
	function isFormValid(FormName){
		var result = true;
		switch (FormName){
			case 'ScamMeter':
				var allButtons = document.getElementsByName('answer_button');
				
				for (i=0; i<allButtons.length; i++){
					if (allButtons[i].src.indexOf('img/scammeter_box_checked.gif') != -1) return true;
				}
				alert('Please select one of the answers!');
				return false;
				break;
			case 'ScamForm':
				if (document.getElementById('txtInvestmentInfo').value != ''){
					if (!checkSpecChr(document.getElementById('txtInvestmentInfo').value)){
						alert('Special HTML characters are not allowed in investment info.');
						return false;
					}
					// there must be at least one party entered
					// party name must be no more than 200 characters long
					var allWho = document.getElementsByName('txtWho');
					var count = 0; 
					for (var i=0; i<allWho.length; i++){
						if (!checkSpecChr(allWho[i].value)){
							alert('Special HTML characters are not allowed in name in row ' + (i+1) + ' .');
							return false;
						}
						if (allWho[i].value.length > 0) count += 1;
						if (allWho[i].value.length > 200){
							alert('Party or Group name in row ' + (i+1) + ' has more than 200 characters. Please correct this!');
							allWho[i].focus();
							return false;
						}
					}
					if (count == 0){
						alert('Please enter at least one party name.');
						allWho[0].focus();
						return false;
					}
					var allWhat = document.getElementsByName('txtWhat');
					for (var i=0; i<allWhat.length; i++){
						if (!checkSpecChr(allWhat[i].value)){
							alert('Special HTML characters are not allowed in party info in row ' + (i+1) + ' .');
							return false;
						}
						if (allWhat[i].value.length > 2000){
							alert('Party info in row ' + (i+1) + ' has more than 2000 characters. Please correct this!');
							allWhat[i].focus();
							return false;
						}
					}					
					if (document.getElementById('txtInvestmentInfo').value.length > 2000){
						alert('Investment has more than 2000 characters. Please correct this!');
						document.getElementById('txtInvestmentInfo').focus();
						return false;
					}
					if (document.getElementById('txtName').value.length > 65){
						alert('Your name has more than 65 characters. Please correct this!');
						document.getElementById('txtName').focus()
						return false;
					}
					var EmailBox = document.getElementById('txtEmail');
					if (!isEmpty(EmailBox.value)){
						if (checkEmail(EmailBox)){
							if (EmailBox.value.length > 65){
								alert('Your email has more than 65 characters. Please correct this!');
								EmailBox.focus();
								return false;
							}
						}
						else{
							EmailBox.focus();
							return false;
						}
					}
					if (document.getElementById('txtPhone').value.length > 20){
						alert('Your phone number has more than 20 characters. Please correct this!');
						document.getElementById('txtPhone').focus();
						return false;
					}
					return true;
				}
				else{
					alert('Please enter investment opportunity information.');
					document.getElementById('txtInvestmentInfo').focus();
					return false;
				}
			default:
				return false;
		}
	}
// end of all pages