// Javascript Document
function appear_berryz() {
	Effect.Appear('list_holder2', {duration: 1.0, transition: Effect.Transitions.linear, from: 0, to: 1.0});
	document.getElementById('unit').innerHTML="Berryz Koubou";
	document.getElementById('step').innerHTML="2";
}

function appear_cute() {
	Effect.Appear('list_holder3', {duration: 1.0, transition: Effect.Transitions.linear, from: 0, to: 1.0});
	document.getElementById('unit').innerHTML="&ordm;C-ute ";
	document.getElementById('step').innerHTML="3";
}

function hide_dataerror() {
	Effect.Appear('ajax_submit', {duration: 1.0, transition: Effect.Transitions.linear, from: 1.0, to: 0, afterFinish:hideError });
}

function appear_submit() {
	Effect.Appear('holder4', {duration: .6, transition: Effect.Transitions.linear, from: 0, to: 1.0});
	document.getElementById('full_text').style.width="457px";
	document.getElementById('full_text').innerHTML="Step <span id='step'>4</span> of 4 (<b><span id='unit'>Submit Vote</span></b>)<br/>Please enter your details and click finsih. Only the email address is required.<br/>Information you give here will only be used for statistics.";
	document.getElementById('next').innerHTML='';
	document.getElementById('skip').innerHTML="";
}

function update(unit, skip) {
	switch (unit) {
		case "Berryz Koubou":
				Effect.Appear('list_holder', {duration: 1.0, transition: Effect.Transitions.linear, from: 1.0, to: 0, afterFinish:appear_berryz});
				document.getElementById('next').innerHTML='<a href="javascript:update(\'C-ute\', 0);"><b>Next</b></a>';
				document.getElementById('skip').innerHTML='<a href="javascript:update(\'C-ute\', 1);" style="color:#aaaaaa;"><b>Skip</b></a>';
			document.getElementById('mm_vote').value=1;
			if (skip==1) {
				document.getElementById('mm_vote').value="0";
				document.getElementById('mm_taken').innerHTML="<span style='color:#ff0000;'>Skipped</span>";
			}
		break;
		case "C-ute":
			Effect.Appear('list_holder2', {duration: 1.0, transition: Effect.Transitions.linear, from: 1.0, to: 0, afterFinish:appear_cute});
			document.getElementById('next').innerHTML='<a href="javascript:update(\'Submit\', 0);"><b>Next</b></a>';
			document.getElementById('skip').innerHTML='<a href="javascript:update(\'Submit\', 1);" style="color:#aaaaaa;"><b>Skip</b></a>';
			document.getElementById('bk_vote').value=1;
			if (skip==1) {
				document.getElementById('bk_vote').value="0";
				document.getElementById('bk_taken').innerHTML="<span style='color:#ff0000;'>Skipped</span>";
			}
		break;
		case "Submit":
			Effect.Appear('list_holder3', {duration: 1.0, transition: Effect.Transitions.linear, from: 1.0, to: 0, afterFinish:appear_submit});
			document.getElementById('c_vote').value=1;
			if (skip==1) {
				document.getElementById('c_vote').value="0";
				document.getElementById('c_taken').innerHTML="<span style='color:#ff0000;'>Skipped</span>";
			}
		break;
	}
}

function submitForm() {
	if(!isValidEmail(document.getElementById('email').value)) {
		document.getElementById('error_message').innerHTML="The email address enter is invalid, please check and re-enter a valid email address.";
		showError();
		return false;
	}
	return true;
}

function isValidEmail(checkThisEmail) {
	var myEMailIsValid = true;
	var myAtSymbolAt = checkThisEmail.indexOf('@');
	var myLastDotAt = checkThisEmail.lastIndexOf('.');
	var mySpaceAt = checkThisEmail.indexOf(' ');
	var myLength = checkThisEmail.length;
	
	if (myAtSymbolAt < 1 )
	 {myEMailIsValid = false}
	
	if (myLastDotAt < myAtSymbolAt)
	 {myEMailIsValid = false}
	
	if (myLength - myLastDotAt <= 2)
	 {myEMailIsValid = false}
	
	if (mySpaceAt != -1)
	 {myEMailIsValid = false}
	
	return myEMailIsValid
}

function showError() {
	document.getElementById('ajax_submit').style.display="none";
	new Effect.Appear('error', {duration: .5, transition: Effect.Transitions.linear, from: 0, to: 1.0 });
	
}

function hideError(){
     document.getElementById('error').style.display="none";
	 document.getElementById('ajax_submit').style.display="none";
	 document.getElementById('URLs').innerHTML ='<div id="spinner"></br></br></br><p style="text-align:center; margin-top:0px; margin-bottom:0px; padding:0px;"><center><img src="images/ajax-loader.gif" /></center></p></div><div id="URLs" style="position:absolute; top:10px; left:10px;display:none;"></div>';
}

function post() {
	//Display loading screen
	new Effect.Appear('ajax_submit', {duration: .5, transition: Effect.Transitions.linear, from: 0, to: 1.0 });
	
	//Load votes
	var mm_rank = document.getElementById("mm_rank").value;
	var bk_rank = document.getElementById("bk_rank").value;
	var c_rank = document.getElementById("c_rank").value;
	
	//Load which votes were taken
	var mm_vote = document.getElementById("mm_vote").value;
	var bk_vote = document.getElementById("bk_vote").value;
	var c_vote = document.getElementById("c_vote").value;
	
	//Load user details
	var email = document.getElementById("email").value;
	var sex = document.getElementById("sex").value;
	var age = document.getElementById("age").value;
	//alert(mm_rank);
	var poststr = encodeURI(mm_rank)+"&"+encodeURI(bk_rank)+"&"+encodeURI(c_rank)+"&mm_vote="+encodeURI(mm_vote)+"&bk_vote="+encodeURI(bk_vote)+"&c_vote="+encodeURI(c_vote)+"&email="+encodeURI(email)+"&sex="+encodeURI(sex)+"&age="+encodeURI(age);
	//makePOSTRequest('comment.php', poststr, commentID);
	makePOSTRequest('submit_vote2.php', poststr);
}

function getHTTPObject() { 
	if (typeof XMLHttpRequest != 'undefined') { 
		return new XMLHttpRequest(); 
	} 
	try { 
		return new ActiveXObject("Msxml2.XMLHTTP"); 
	} catch (e) { 
		try { 
			return new ActiveXObject("Microsoft.XMLHTTP"); 
		}  catch (e) {}
	} 
	return false; 
}

function makePOSTRequest(url, parameters) {
    http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            http_request.overrideMimeType('text/html');
        }
		} else if (window.ActiveXObject) { // IE
			try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
			try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if (!http_request) {
		alert('Cannot create XMLHTTP instance');
        return false;
    }
      
    http_request.onreadystatechange = alertContents;
    http_request.open('POST', url, true);
    http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http_request.setRequestHeader("Content-length", parameters.length);
    http_request.setRequestHeader("Connection", "close");
    http_request.send(parameters);
  }
  
function alertContents() {
    if (http_request.readyState == 4) {
        if (http_request.status == 200) {
            result = http_request.responseText;
			document.getElementById('URLs').innerHTML = result; 
			new Effect.Morph('ajax_submit', {style:'left:5px;width:432px;',duration:0.8,afterFinish:fadeOutLoad});
        } 
		else {
			document.getElementById('error_message').innerHTML="There was a problem submitting your votes.<br/>Please try again.";
			Effect.Appear('ajax_submit', {duration: 1.0, transition: Effect.Transitions.linear, from: 1.0, to: 0.0,afterFinish:showError});   
       }
    }
}

function fadeOutLoad() {
	new Effect.Appear('spinner', {duration: .5, transition: Effect.Transitions.linear, from: 1.0, to: 0, afterFinish:loadURL});
}

function loadURL() {
	new Effect.Appear('URLs', {duration: .5, transition: Effect.Transitions.linear, from: 0, to: 1.0});
	document.getElementById('full_text').style.width="457px";
	document.getElementById('full_text').innerHTML="Thankyou for submitting your votes, results will be displayed on the 18th of February 2008.</br>To embed your vote images, copy the text above, an email will be sent to you with these links.";
}