var key = 0;
var taf_row_num = 3;
var g_tell_a_friend = '';
var g_email_template = ''
var g_social_networking = '';

function hide_review_details(){
	document.getElementById("instr").style.display = "none";
}


function hide_guest_orientation(){
	document.getElementById("guest_orientation").style.display = "none";
}

function show_review_details(){
	document.getElementById("instr").style.display = "block";
}

function hide_skip_message(){
	document.getElementById("skipmessage").style.display = "none";
}

function show_skip_message(){
	document.getElementById("skipmessage").style.display = "block";
}

function activate_review_buttons(){
	if (document.getElementById("review_response").disabled == true){
		document.getElementById("review_response").value = '';
	}
	document.getElementById("review_submit").disabled = false;
	document.getElementById("review_skip").disabled = false;
	document.getElementById("review_response").disabled = false;
}

function validate_rating_form(form){

	if (form.response.value.length < 10){
		alert ("Please enter feedback of at least 10 characters");
		return false;
	}else{
		return true;
	}
}


function validate_project_forms(element){
		is_error = 0;
		var rules = [];
		rules[0] = ['url','^(http|https|ftp)\://[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&;\%\$#\=~])*','Please enter a valid URL'];
		rules[1] = ['ideal_customer','.{1,}','Please provide details about your target customer'];
		rules[2] = ['name','.{1,}','Please provide a name for your project'];
		//rules[3] = ['username','[a-z0-9-]{3,}','Please select a username at least 3 characters long, and consists of letters, numbers and hypens only.'];
		//rules[4] = ['conversion_rate','^[0-9\.]+$','Your conversion rate should be a number and should only contain numerics and a decimal point'];
		//rules[5] = ['opt_goal','.{1,}','Please a goal for your optimization efforts'];


		arrlen = rules.length;
		x = 0;
		while (x < arrlen){
			tfield = document.getElementsByName(rules[x][0]);
			if (typeof(tfield[0]) == 'undefined'){

			}else{
				field = document.getElementsByName(rules[x][0]) ;
				if (rules.length == 0){
					x++;
					continue;
				}
				field = field[0];
				fieldvalue = field.value;
				regex = new RegExp(rules[x][1],"i");
				err = rules[x][2];


				label_field = get_previous(field);

				replace_regex = new RegExp("<br.*?><span.*?>.+?</span>","ig");

				label_field.innerHTML = label_field.innerHTML.replace(replace_regex, '');

				if (!fieldvalue.match(regex)){
					label_field.innerHTML = label_field.innerHTML + "<br><span style=\"color: red;font-size:0.8em;\">"+err+"</span>";
					is_error = 1;
				}

			}
			
			x++;
		}

		if (is_error == 1){
			alert ("There has been a problem submitting your form. Please check the error messages in red and try again");
			return false;
		}else{
			return true;
		}

}

function get_previous(ele){
 	var secondObj = ele;

	var firstObj = secondObj.previousSibling;

	while (firstObj.previousSibling && firstObj.nodeName == "#text"){
		firstObj = firstObj.previousSibling;
	}

	return firstObj;
}


function check_request(){
	if (document.new_project.request.value == "other"){
		document.new_project.other_request.style.display = "";
	}else{
		document.new_project.other_request.style.display = "none";
	}	
}

function check_niche(){
	if (document.new_project.niche.value == "1"){
		document.new_project.other_niche.style.display = "";
	}else{
		document.new_project.other_niche.style.display = "none";
	}	
}


function check_ct(){
	if (document.new_project.ct.value == "1"){
		document.new_project.other_ct.style.display = "";
	}else{
		document.new_project.other_ct.style.display = "none";
	}	
}

function hide_show_fb(fbid){
	if (key == 1){
		key = 0;
		return;
	}
	if (document.getElementById(fbid).style.height == "40px"){
		document.getElementById(fbid).style.height = "";
	}else{
		document.getElementById(fbid).style.height = "40px";
	}
}

function do_confirm(ele){
	if (ele.rating.value == 1){
		return confirm("Are you sure you want to leave this review? By rating a review 1, the review loses the credit for the review. This is irreversable.");
	}
}

function show_all_reviews(){

	if (document.all){ 

	} else {
		var evObj = document.createEvent('MouseEvents');
		evObj.initEvent( 'click', true, true );
	}

	elements = document.getElementsByTagName("tr");
	elecount = elements.length;
	x = 0;
	while (x < elecount){
		if (document.all){
			elements[x].fireEvent('onclick');
		}else{
			elements[x].dispatchEvent(evObj);
		}
		x = x+1;
	}
}


function taf_show(element_id){

	if (document.getElementById(element_id).style.display == 'block'){
		displayval  = "none";
	}else{
		displayval = "block";
	}
	if (document.getElementById("tell_a_friend")){
		document.getElementById("tell_a_friend").style.display = "none";
	}
	if (document.getElementById("mailing_list")){
		document.getElementById("mailing_list").style.display = "none";
	}
	if (document.getElementById("social_networking")){
		document.getElementById("social_networking").style.display = "none";
	}
	if (document.getElementById("questioner")){
		document.getElementById("questioner").style.display = "none";
	}
	document.getElementById(element_id).style.display = displayval;

	return false;

}

function taf_call_popup(project_id,text_id,tell_a_friend,email_template,social_networking,js_questioner )
{

	text_id = typeof(text_id) != 'undefined' ? text_id : 1 ;


	if (typeof(tell_a_friend) == 'undefined'){
		tell_a_friend = 1;
	}
	g_tell_a_friend = tell_a_friend;

	if (typeof(email_template) == 'undefined'){
		email_template = 1;
	}
	g_email_template = email_template;

	if (typeof(social_networking) == 'undefined'){
		social_networking = 1;
	}
	g_social_networking = social_networking;
	if (typeof(js_questioner) == 'undefined'){
		js_questioner = 1;
	}
	g_js_questioner = js_questioner;
	url = "/app/taf.php?text_id="+text_id+"&project_id="+project_id+"&tell_a_friend="+tell_a_friend+"&email_template="+email_template+"&social_networking="+social_networking+"&js_questioner="+js_questioner+"";

	var httpRequest;
	if (window.XMLHttpRequest)
	{
		try { httpRequest = new XMLHttpRequest(); }
		catch(e) {}
	}
	else if (window.ActiveXObject)
	{
		try { httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e)
		{
			try { httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e) {}
		}
	}
	if(! httpRequest)
	{
		alert('\n\nGiving up :(\n\nCannot create an AJAX connection.');
		return false;
	}
	httpRequest.onreadystatechange = function() { process_ajax(httpRequest); };
	httpRequest.open('GET',url,true);
	httpRequest.send('');
} // function makeRequestGET()

function process_ajax(content)
{

		if (content.readyState == 4)
		{
			if(content.status == 200) { 
				var code = content.responseText; document.body.innerHTML = code + document.body.innerHTML; 
				setTimeout("init();","300");
			}
			else { alert('\n\nThere was a problem with the request.\n\nStatus code: '+content.status+'\n'+content.statusText); }
		}

} // function ContainerContents()


function taf_add_node(){
	taf_row_num++;
	mynode = document.createElement("tr"); 
	mynode1 = document.createElement("th");
	mynode1.innerHTML = taf_row_num;
	mynode2 = document.createElement("td"); 
	mynode2.innerHTML = "<input type=\"text\" name=\"name[]\" />"; 
	mynode3 = document.createElement("td"); 
	mynode3.innerHTML = "<input type=\"text\" name=\"email[]\" />"; 
	mynode.appendChild(mynode1);
	mynode.appendChild(mynode2);
	mynode.appendChild(mynode3); 
	document.getElementById("tolist").appendChild(mynode); 
	return false;
}


function $(id) { return document.getElementById(id); }
		
function init() {
	if (g_tell_a_friend == 0){
		document.getElementById("tell_a_friend_link").style.display = "none";
		document.getElementById("tell_a_friend").style.display = "none";
	}

	if (g_tell_a_friend == 1){
		document.getElementById("tell_a_friend").style.display = "none";
	}


	if (g_email_template == 0){
		document.getElementById("mailing_list_link").style.display = "none";
		document.getElementById("mailing_list").style.display = "none";
	}

	if (g_email_template == 1){
		document.getElementById("mailing_list").style.display = "none";
	}

	if (g_social_networking == 0){
		document.getElementById("social_networking_link").style.display = "none";
		document.getElementById("social_networking").style.display = "none";
	}

	if (g_social_networking == 1){
		document.getElementById("social_networking").style.display = "none";
	}
	if (g_js_questioner == 0){
		document.getElementById("questioner_link").style.display = "none";
		document.getElementById("questioner").style.display = "none";
	}

	if (g_js_questioner == 1){
		document.getElementById("questioner").style.display = "none";
	}


	clip = new ZeroClipboard.Client();
	clip.setHandCursor( true );
			
	clip.addEventListener('mouseOver', my_mouse_over);
	clip.addEventListener('complete', my_complete);
			
	var html = clip.getHTML( 150, 20 );
	if (document.getElementById("d_clip_button")){
		document.getElementById("d_clip_button").innerHTML = html + document.getElementById("d_clip_button").innerHTML; 
	}



	qs_clip = new ZeroClipboard.Client();
	qs_clip.setHandCursor( true );
			
	qs_clip.addEventListener('mouseOver', qs_my_mouse_over);
			
	var html = qs_clip.getHTML( 150, 20 );
	if (document.getElementById("qs_clip_button")){
		document.getElementById("qs_clip_button").innerHTML = html + document.getElementById("qs_clip_button").innerHTML; 
	}
}
	

		
function my_mouse_over(client) {
	// we can cheat a little here -- update the text on mouse over
	clip.setText( $('fe_text').value );
}

function qs_my_mouse_over(client) {
	// we can cheat a little here -- update the text on mouse over
	qs_clip.setText( $('qs_text').value );
}
		
function my_complete(client, text) {
	//noop
}
		




