
// Variables
var polls_ajax_url = "/wp-content/plugins/polls/polls.php";
var polls_text_wait = "Ihr letzte Anfrage wird immer noch bearbeitet. Bitte warten sie ab ...";
var polls_text_valid = "Bitte wÃ¤hlen Sie eine gÃ¼tige Umfrage-Antwort.";
var polls_text_multiple = "Maximal erlaubte Antworten:";
var polls = new sack(polls_ajax_url);
var poll_id = 0;
var poll_answer_id = "";
var poll_fadein_opacity = 0;
var poll_fadeout_opacity = 100;
var poll_show_loading = 1;
var poll_show_fading = 1;
var is_ie = (document.all && document.getElementById);
var is_moz = (!document.all && document.getElementById);
var is_opera = (navigator.userAgent.indexOf("Opera") > -1);
var is_being_voted = false;


// Hack by Felix Baltruschat - http://www.wortbildton.de
var poll_vname = '';
var poll_nname = '';
var poll_str = '';
var poll_plz = '';
var poll_ort = '';
var poll_email = '';
var poll_error = '';
var poll_comefrom = '';

function validEmail(email) {
  var strReg = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
  var regex = new RegExp(strReg);
  return(regex.test(email));
}

// End

// Function: When User Vote For Poll
function poll_vote(current_poll_id) {
	if(!is_being_voted) {
		is_being_voted = true;
		poll_id = current_poll_id;
		poll_form = document.getElementById('polls_form_' + poll_id);
		poll_answer = eval("poll_form.poll_" + poll_id);
		poll_answer_id = "";
		if(document.getElementById('poll_multiple_ans_' + poll_id)) {
			poll_multiple_ans = parseInt(document.getElementById('poll_multiple_ans_' + poll_id).value);
		} else {
			poll_multiple_ans = 0;
		}
		poll_multiple_ans_count = 0;
		if(poll_answer.length != null) {
			for(i = 0; i < poll_answer.length; i++) {
				if (poll_answer[i].checked) {					
					if(poll_multiple_ans > 0) {
						poll_answer_id = poll_answer[i].value + "," + poll_answer_id;
						poll_multiple_ans_count++;
					} else {
						poll_answer_id = parseInt(poll_answer[i].value);
					}
				}
			}
		} else {
			poll_answer_id = poll_answer.value;
		}
    
    // Hack by Felix Baltruschat - http://www.wortbildton.de
    	poll_vname = document.getElementById('vname').value;
      poll_nname = document.getElementById('nname').value;
      poll_str = document.getElementById('str').value;
      poll_plz = parseInt(document.getElementById('plz').value);
      poll_ort = document.getElementById('ort').value;
      poll_email = document.getElementById('email').value;
     	poll_comefrom = '';
      if(document.getElementById('internet').checked){
        	poll_comefrom += "Internet, ";
      }
      if(document.getElementById('radio').checked){
        poll_comefrom += "Radio, ";
      }
      if(document.getElementById('en_vogue').checked){
        poll_comefrom += "Sylt en vogue, ";
      }
      
      if(document.getElementById('internet').checked == false && document.getElementById('radio').checked == false && document.getElementById('en_vogue').checked == false ){
      	
        poll_error += unescape("Bitte w%E4len Sie aus, woher Sie von uns erfahren haben.\n");
      }
      
      if(poll_vname == ''){
      	poll_error += "Sie haben keinen Vornamen angegeben!\n";
      }
      if(poll_nname == ''){
      	poll_error += "Sie haben keinen Nachnamen angegeben!\n";
      }
      if(poll_str == ''){
      	poll_error += unescape("Sie haben keine Stra%DFe angegeben!\n");
      }
      if(poll_plz == '' || poll_plz.length > 5 || poll_plz.length < 5){
      	if(poll_plz == ''){
        	poll_error += "Sie haben keine Postleitzahl angegeben!\n";
        }else if(poll_plz.lenght > 5){
        	poll_error += "Ihre Postleitzahl darf nicht länger als 5 Zeichen haben!\n";
        }else if(poll_plz.length < 5){
        	poll_error += "Ihre Postleitzahl darf nicht kürzer als 5 Zeichen sein!\n";
        }
      }
      if(poll_ort == ''){
      	poll_error += "Sie haben keinen Ort angegeben!\n";
      }
      if(poll_email == '' || !validEmail(poll_email) ){
      	if(poll_email == ''){
        	poll_error += "Sie haben keine Email angegeben!\n";
        }else if(!validEmail(poll_email)){
        	poll_error += "Sie haben keine korrekte Email angegeben!\n";
        }
      }
      if(poll_error.length>0){
      	alert(poll_error);
        poll_error = '';
        is_being_voted = false;
        return;
      }
    // End
    
		if(poll_multiple_ans > 0) {
			if(poll_multiple_ans_count > 0 && poll_multiple_ans_count <= poll_multiple_ans) {
				poll_answer_id = poll_answer_id.substring(0, (poll_answer_id.length-1));
				poll_loading_text();
				poll_process();
			} else if(poll_multiple_ans_count == 0) {
				is_being_voted = false;
				alert(polls_text_valid);
			} else {
				is_being_voted = false;
				alert(polls_text_multiple + " " + poll_multiple_ans + ".");
			}
		} else {
			if(poll_answer_id > 0) {
				poll_loading_text();
				poll_process();
			} else {
				is_being_voted = false;
				alert(polls_text_valid);
			}
		}
	} else {
		alert(polls_text_wait);
	}
}

// Function: When User View Poll's Result
function poll_result(current_poll_id) {
	if(!is_being_voted) {
		is_being_voted = true;
		poll_id = current_poll_id;
		poll_loading_text();
		poll_process_result();
	} else {
		alert(polls_text_wait);
	}
}

// Function: When User View Poll's Voting Booth
function poll_booth(current_poll_id) {
	if(!is_being_voted) {
		is_being_voted = true;
		poll_id = current_poll_id;
		poll_loading_text();
		poll_process_booth();
	} else {
		alert(polls_text_wait);
	}
}

// Function: Poll Fade In Text
function poll_fadein_text() {
	if(poll_fadein_opacity == 90) {
		poll_unloading_text();
	}
	if(poll_fadein_opacity < 100) {
		poll_fadein_opacity += 10;
		if(is_opera) {
			poll_fadein_opacity = 100;
			poll_unloading_text();
		} else if(is_ie) {
			if(poll_show_fading) {
				document.getElementById('polls-' + poll_id + '-ans').filters.alpha.opacity = poll_fadein_opacity;
			} else {
				poll_fadein_opacity = 100;
				poll_unloading_text();
			}
		} else	 if(is_moz) {
			if(poll_show_fading) {
				document.getElementById('polls-' + poll_id + '-ans').style.MozOpacity = (poll_fadein_opacity/100);
			} else {
				poll_fadein_opacity = 100;
				poll_unloading_text();
			}
		}
		setTimeout("poll_fadein_text()", 100); 
	} else {
		poll_fadein_opacity = 100;
		is_being_voted = false;
	}
}

// Function: Poll Loading Text
function poll_loading_text() {
	if(poll_show_loading) {
		document.getElementById('polls-' + poll_id + '-loading').style.display = 'block';
	}
}

// Function: Poll Finish Loading Text
function poll_unloading_text() {
	if(poll_show_loading) {
		document.getElementById('polls-' + poll_id + '-loading').style.display = 'none';
	}
}

// Function: Process The Poll
function poll_process() {
	if(poll_fadeout_opacity > 0) {
		poll_fadeout_opacity -= 10;
		if(is_opera) {
			poll_fadeout_opacity = 0;
		} else if(is_ie) {
			if(poll_show_fading) {
				document.getElementById('polls-' + poll_id + '-ans').filters.alpha.opacity = poll_fadeout_opacity;
			} else {
				poll_fadeout_opacity = 0;
			}
		} else if(is_moz) {
			if(poll_show_fading) {
				document.getElementById('polls-' + poll_id + '-ans').style.MozOpacity = (poll_fadeout_opacity/100);
			} else {
				poll_fadeout_opacity = 0;
			}
		}
		setTimeout("poll_process()", 100); 
	} else {
		poll_fadeout_opacity = 0;
		polls.reset();
		polls.setVar("vote", true);
		polls.setVar("poll_id", poll_id);
		polls.setVar("poll_" + poll_id, poll_answer_id);
    // Hack by Felix Baltruschat - http://www.wortbildton.de
    polls.setVar("poll_vname", poll_vname);
    polls.setVar("poll_nname", poll_nname);
    polls.setVar("poll_str", poll_str);
    polls.setVar("poll_plz", poll_plz);
    polls.setVar("poll_ort", poll_ort);
    polls.setVar("poll_email", poll_email);
    polls.setVar("poll_comefrom", poll_comefrom);
    // End
		polls.method = 'POST';
		polls.element = 'polls-' + poll_id + '-ans';
		polls.onCompletion = poll_fadein_text;
		polls.runAJAX();
		poll_fadein_opacity = 0;
		poll_fadeout_opacity = 100;
	}
}

// Function: Process Poll's Result
function poll_process_result() {
	if(poll_fadeout_opacity > 0) {
		poll_fadeout_opacity -= 10;
		if(is_opera) {
			poll_fadeout_opacity = 0;
		} else if(is_ie) {
			if(poll_show_fading) {
				document.getElementById('polls-' + poll_id + '-ans').filters.alpha.opacity = poll_fadeout_opacity;
			} else {
				poll_fadeout_opacity = 0;
			}
		} else if(is_moz) {
			if(poll_show_fading) {
				document.getElementById('polls-' + poll_id + '-ans').style.MozOpacity = (poll_fadeout_opacity/100);
			} else {
				poll_fadeout_opacity = 0;
			}
		}
		setTimeout("poll_process_result()", 100); 
	} else {
		poll_fadeout_opacity = 0;
		polls.reset();
		polls.setVar("pollresult", poll_id);
		polls.method = 'GET';
		polls.element = 'polls-' + poll_id + '-ans';
		polls.onCompletion = poll_fadein_text;
		polls.runAJAX();
		poll_fadein_opacity = 0;
		poll_fadeout_opacity = 100;
	}
}

// Function: Process Poll's Voting Booth
function poll_process_booth() {
	if(poll_fadeout_opacity > 0) {
		poll_fadeout_opacity -= 10;
		if(is_opera) {
			poll_fadeout_opacity = 0;
		} else if(is_ie) {
			if(poll_show_fading) {
				document.getElementById('polls-' + poll_id + '-ans').filters.alpha.opacity = poll_fadeout_opacity;
			} else {
				poll_fadeout_opacity = 0;
			}
		} else if(is_moz) {
			if(poll_show_fading) {
				document.getElementById('polls-' + poll_id + '-ans').style.MozOpacity = (poll_fadeout_opacity/100);
			} else {
				poll_fadeout_opacity = 0;
			}
		}
		setTimeout("poll_process_booth()", 100); 
	} else {
		poll_fadeout_opacity = 0;
		polls.reset();
		polls.setVar("pollbooth", poll_id);
		polls.method = 'GET';
		polls.element = 'polls-' + poll_id + '-ans';
		polls.onCompletion = poll_fadein_text;
		polls.runAJAX();
		poll_fadein_opacity = 0;
		poll_fadeout_opacity = 100;
	}
}