function updateloginstatus() {
	var r;
	r = createRequest();
   	post = '';
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('loginstatus').innerHTML="Loading...";
        } else if (r.readyState == 4 && r.status == 200) {
			document.getElementById('loginstatus').innerHTML = r.responseText;
        }
   	}
    r.open('POST', 'loginstatus.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function fullvideo() {
		var s1 = new SWFObject("flvplayer.swf","single","300","170","7");
		s1.addParam("allowfullscreen","true");
		s1.addVariable("file","videos/"+document.getElementById('videofile').value);
		s1.addVariable("image","preview.jpg");
		s1.addVariable("backcolor","0x000000");
		s1.addVariable("frontcolor","0xCCCCCC");
		s1.addVariable("lightcolor","0x557722");
		s1.addVariable("autostart","true");
		s1.write('player1');
}
function preview() {
	if (document.getElementById('preview').value != '') {
		var s1 = new SWFObject("flvplayer.swf","single","300","170","7");
		s1.addParam("allowfullscreen","true");
		s1.addVariable("file","videos/"+document.getElementById('preview').value);
		s1.addVariable("image","preview.jpg");
		s1.addVariable("backcolor","0x000000");
		s1.addVariable("frontcolor","0xCCCCCC");
		s1.addVariable("lightcolor","0x557722");
		s1.addVariable("autostart","true");
		s1.write('player1');
	} else {
		document.getElementById('player1').innerHTML = 'This video has no preview!';
	}
	document.getElementById('sinfo').innerHTML = 'You must be a subscriber to be able to watch the full version of this video. Please <a href="javascript:void(0);" onclick="loadlogin(\'flvplayer();\');">log in</a> or <a href="javascript:void(0);" onclick="loadsubscribe();">subscribe</a> in order to view our full content.';
}
function fullvideodownload() {
		document.getElementById('player1').innerHTML = '<a href="videos/'+document.getElementById('videofile').value+'">download full video</a>';
}
function previewdownload() {
	if (document.getElementById('preview').value != '') {
		// preview video link
		document.getElementById('player1').innerHTML = '<a href="videos/'+document.getElementById('preview').value+'">download preview</a>';
	} else {
		document.getElementById('player1').innerHTML = 'This video has no preview!';
	}
	document.getElementById('sinfo').innerHTML = 'You must be a subscriber to be able to download the full version of this video. Please <a href="javascript:void(0);" onclick="loadlogin(\'videodownload();\');">log in</a> or <a href="javascript:void(0);" onclick="loadsubscribe();">subscribe</a> in order to view our full content.';
}

function validatelogin() {
	var correct = true;
	var errors = 'Error:';
	var v_loginname = document.getElementById('loginname').value;
	var v_password = document.getElementById('password').value;
	if (v_loginname.length < 2) {
		errors += "\nLogin name (e-mail) is invalid or too short!";
		correct = false;
	}
	if (v_password.length < 1) {
		errors += "\nPlease enter your password!";
		correct = false;
	}
	if (!correct) {
		alert(errors);
	}
	return correct;
}
function validatechangepass() {
	var correct = true;
	var errors = 'Error:';
	var v_oldpass = document.getElementById('oldpass').value;
	var v_newpass1 = document.getElementById('newpass').value;
	var v_newpass2 = document.getElementById('newpass2').value;
	if (v_newpass1.length < 2) {
		errors += "\nPlease enter a valid password (at least 2 characters)!";
		correct = false;
	}
	if (v_newpass2.length < 2) {
		errors += "\nPlease enter a valid password confirmation(at least 2 characters)!";
		correct = false;
	}
	if (v_newpass1 != v_newpass2) {
		errors += "\nThe password and password confirmation don't match!";
		correct = false;		
	}
	if (!correct) {
		alert(errors);
	}
	return correct;
}
function validateresetpass() {
	var correct = true;
	var errors = 'Error:';
	var v_loginname = document.getElementById('loginname').value;
	if (v_loginname.length < 2) {
		errors += "\nLogin name (e-mail) is invalid or too short!";
		correct = false;
	}
	if (!correct) {
		alert(errors);
	}
	return correct;
}
function validatesubscribe() {
	var correct = true;
	var errors = 'Error:';
	var v_loginname = document.getElementById('loginname').value;
	var v_password = document.getElementById('password').value;
	if (v_loginname.length < 2) {
		errors += "\nLogin name (e-mail) is invalid or too short!";
		correct = false;
	}
	if (v_password.length < 1) {
		errors += "\nPlease enter your password!";
		correct = false;
	}
	if (!correct) {
		alert(errors);
	}
	return correct;
}
function logout() {
	var r;
	r = createRequest();
   	post = '';
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Logging out, please wait...";
        } else if (r.readyState == 4 && r.status == 200) {
			document.getElementById('divform').innerHTML = r.responseText;
			if (r.responseText.indexOf("Successful") != -1) {
				updateloginstatus();
				closeWindow("");
			} else {
				document.getElementById('divform').innerHTML = "Logout failed!";
			}
        }
   	}
    r.open('POST', 'logout.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function logoutmain() {
	var r;
	r = createRequest();
   	post = '';
    function update() {
   		if (r.readyState != 4) {
       		/* we do nothing */
        } else if (r.readyState == 4 && r.status == 200) {
        	/* we do nothing here either */
        	updateloginstatus();
        }
   	}
    r.open('POST', 'logout.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function login(after) {
	var r;
	r = createRequest();
   	post = getFormVariables('frmLogin');
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Logging in, please wait...";
        } else if (r.readyState == 4 && r.status == 200) {
			document.getElementById('divform').innerHTML = r.responseText;
			if (r.responseText.indexOf("Successful") != -1) {
				document.getElementById('sinfo').innerHTML = '';
				updateloginstatus();
				eval(after);
			}
        }
   	}
    r.open('POST', 'login.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function loadlogin(after) {
	var r;
	r = createRequest();
   	post = 'after='+after;
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Please wait!";
        } else if (r.readyState == 4 && r.status == 200) {
			document.getElementById('divform').innerHTML = r.responseText;
        }
   	}
    r.open('POST', 'loginform.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function subscribe() {
	var r;
	r = createRequest();
   	post = getFormVariables('frmSubscribe');
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Loading...";
        } else if (r.readyState == 4 && r.status == 200) {
			document.getElementById('divform').innerHTML = r.responseText;
			if (r.responseText.indexOf("Successful") != -1) {
				document.getElementById('sinfo').innerHTML = '';
				flvplayer();
			}
        }
   	}
    r.open('POST', 'ipsyc_payment.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function loadsubscribe() {
	var r;
	r = createRequest();
   	post = '';
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Please wait!";
        } else if (r.readyState == 4 && r.status == 200) {
			document.getElementById('divform').innerHTML = r.responseText;
        }
   	}
    r.open('POST', 'subscribeform.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function changepass(after) {
	var r;
	r = createRequest();
   	post = getFormVariables('frmChangePass');
   	document.getElementById('logout').innerHTML = '';
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Changing password, please wait...";
        } else if (r.readyState == 4 && r.status == 200) {
			if (r.responseText.indexOf("success") != -1) {
				document.getElementById('divform').innerHTML="You password has been changed successfully!";
			} else if (r.responseText.indexOf("error:query") != -1) {
				document.getElementById('divform').innerHTML="Sorry, we couldn't change your password, please try again later!";
			} else if (r.responseText.indexOf("error:usernotfound") != -1) {
				document.getElementById('divform').innerHTML="This user does not exist!";
			} else if (r.responseText.indexOf("error:oldpass") != -1) {
				document.getElementById('divform').innerHTML="The old password you entered doesn't match with your password!";
			} else  {
				document.getElementById('divform').innerHTML="Error, please try again later!";
			}
        }
   	}
    r.open('POST', 'changepass.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function loadchangepass() {
	var r;
	r = createRequest();
   	post = '';
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Please wait!";
        } else if (r.readyState == 4 && r.status == 200) {
			document.getElementById('divform').innerHTML = r.responseText;
        }
   	}
    r.open('POST', 'changepassform.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function resetpass(after) {
	var r;
	r = createRequest();
   	post = getFormVariables('frmResetPass');
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Sending confirmation mail, please wait...";
        } else if (r.readyState == 4 && r.status == 200) {
			if (r.responseText.indexOf("success") != -1) {
				document.getElementById('divform').innerHTML="The confirmation mail has been sent successfully!";
			} else if (r.responseText.indexOf("error:resetpassquery") != -1) {
				document.getElementById('divform').innerHTML="We're sorry, it appears there has been a problem with setting up your e-mail, please try again later.";
			} else if (r.responseText.indexOf("error:resetpassmailsend") != -1) {
				document.getElementById('divform').innerHTML="There has been a problem with sending your confirmation e-mail, please try again later.";
			}
        }
   	}
    r.open('POST', 'resetpassmail.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}

function loadresetpass() {
	var r;
	r = createRequest();
   	post = '';
    function update() {
   		if (r.readyState != 4) {
       		document.getElementById('divform').innerHTML="Please wait!";
        } else if (r.readyState == 4 && r.status == 200) {
			document.getElementById('divform').innerHTML = r.responseText;
        }
   	}
    r.open('POST', 'resetpassform.php', true);
   	r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
   	r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
   	r.send(post);
}
function flvplayer() {
	if (document.getElementById('work').value == 0) {
		fullvideo();
	} else {
		var r;
		r = createRequest();
    	post = '';
	    function updateflvplayer() {
    		if (r.readyState != 4) {
        		document.getElementById('player1').innerHTML="Please wait!";
	        } else if (r.readyState == 4 && r.status == 200) {
				// We have our variable back, let's see if the user is logged in
				if (r.responseText == '1') {
					// They're logged in, display the flvplayer
        			document.getElementById('player1').innerHTML="";
					fullvideo();
				} else {
					// They are not, let's see if there is preview video for it!
        			document.getElementById('player1').innerHTML="";
					preview();
				}
	        }
    	}
	    r.open('POST', 'is_subscribed.php', true);
    	r.onreadystatechange = updateflvplayer;
	    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
    	r.setRequestHeader("Content-length", post.length);
	    r.setRequestHeader("Connection", "close");
    	r.send(post);

	}
}
function videodownload() {
	if (document.getElementById('work').value == 0) {
		fullvideodownload();
	} else {
		var r;
		r = createRequest();
    	post = '';
	    function updateflvplayer() {
    		if (r.readyState != 4) {
        		document.getElementById('player1').innerHTML="Please wait!";
	        } else if (r.readyState == 4 && r.status == 200) {
				// We have our variable back, let's see if the user is logged in
				if (r.responseText == '1') {
					// They're logged in, display the flvplayer
        			document.getElementById('player1').innerHTML="";
					fullvideodownload();
				} else {
					// They are not, let's see if there is preview video for it!
        			document.getElementById('player1').innerHTML="";
					previewdownload();
				}
	        }
    	}
	    r.open('POST', 'is_subscribed.php', true);
    	r.onreadystatechange = updateflvplayer;
	    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
    	r.setRequestHeader("Content-length", post.length);
	    r.setRequestHeader("Connection", "close");
    	r.send(post);
	}
}

function loadpage(divid, uri, vars, after) {
	var r;
	r = createRequest();
    post = vars;
    r.open('POST', uri, true);
    r.onreadystatechange = update;
    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
    r.setRequestHeader("Content-length", post.length);
    r.setRequestHeader("Connection", "close");
    r.send(post);

    function update() {
    	if (r.readyState != 4) {
        	document.getElementById(divid).innerHTML="Loading...";
        } else if (r.readyState == 4 && r.status == 200) {
            document.getElementById(divid).innerHTML=r.responseText;
			eval(after);
        }
    }
}

function getFormVariables(formid) {
	var form = document.getElementById(formid);
	var frmInput = form.getElementsByTagName('input');
	var frmSelect = form.getElementsByTagName('select');
	var frmTextArea = form.getElementsByTagName('textarea');
	var vars = '';
	var first = true;
	// Input elements
	for (i = 0; i < frmInput.length; i++) {
		if (!first) {
			vars += '&';
		} else {
			first = false;
		}
		if ( (frmInput[i].type.indexOf('radio') == -1) && (frmInput[i].type.indexOf('checkbox') == -1) ) { 
			val = frmInput[i].value;
			val = encodeURIComponent(val);
			vars += frmInput[i].name+'='+val;
		} else {
			// It's a radio button
			if (frmInput[i].checked) {
				val = frmInput[i].value;
				val = encodeURIComponent(val);
				vars += frmInput[i].name+'='+val;
			}
		}
	}
	// Select elements
	for (i = 0; i < frmSelect.length; i++) {
		if (!first) {
			vars += '&';
		} else {
			first = false;
		}
		val = frmSelect[i].value
		val = encodeURIComponent(val);
		vars += frmSelect[i].name+'='+val;
	}
	// TextArea variables
	for (i = 0; i < frmTextArea.length; i++) {
		if (!first) {
			vars += '&';
		} else {
			first = false;
		}
		val = frmTextArea[i].value;
		val = encodeURIComponent(val);
		vars += frmTextArea[i].name+'='+val;
	}
	return vars;
}

