
function signout() {
        var obj = new Signout();
        obj.check();
        return false;
}
function Signout() {;}
Signout.prototype.check = function() {
        var post = "ajax=1&action=signout";
        var url = site_url + 'access_ajax.php';
        AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
Signout.prototype.failure = function(o) {
        alert('An error has occured please try again later');
}
Signout.prototype.success = function(o) {
        if(o.responseText != undefined){
                var returnTxt =o.responseText;
		var rtr = returnTxt.parseJSON();
                if (rtr['status'] != undefined) {
                        if (rtr['status'] == 'Success') {
				document.location.reload(true);
                        } else {
                                alert('An error has occured please try again later');
                        }
                }
        }
}
function autorenew() {
        var obj = new Autorenew();
        obj.check();
        return false;
}
function Autorenew() {;}
Autorenew.prototype.check = function() {
        var post = "ajax=1&action=autorenew";
        var url = site_url + 'access_ajax.php';
        AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
Autorenew.prototype.failure = function(o) {
        alert('An error has occured please try again later');
}
Autorenew.prototype.success = function(o) {
        if(o.responseText != undefined){
                var returnTxt =o.responseText;
                var rtr = returnTxt.parseJSON();
                if (rtr['status'] != undefined) {
                        if (rtr['status'] == 'Success') {
				if (rtr['renew']) {
					set_html('auto_renew_col','Yes <a href=\"#\" onclick=\"return autorenew();\">[change]</a>');
				} else{
					set_html('auto_renew_col','No <a href=\"#\" onclick=\"return autorenew();\">[change]</a>');
				}
			} else if (rtr['status'] == 'Signin') {
		                signin('show');
                        } else {
                                alert('An error has occured please try again later');
                        }
                }
        }
}

function showPanel(type, runThis) {
	if (mpanel != null) {
		mpanel.hide();
		mpanel = null;
	}
	var obj = new ShowPanel(type,runThis);
	obj.check();
}
function ShowPanel(type,runThis) { this.type = type; this.runThis = runThis;}
ShowPanel.prototype.check = function() {
        var post = "ajax=1&action=show_panel&type="+this.type;
        var url = site_url + 'access_ajax.php';
        AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
ShowPanel.prototype.failure = function(o) {
        alert('An error has occured please try again later');
}
ShowPanel.prototype.success = function(o) {
        if(o.responseText != undefined){
                var returnTxt =o.responseText;
                var rtr = returnTxt.parseJSON();
                if (rtr['status'] != undefined) {
                        if (rtr['status'] == 'Success') {
				var width = rtr['width']+"px";
				if (this.runThis != null && this.runThis == 2) {
					var xpos = YAHOO.util.Dom.getX(get_element('myaccount_link'))-350;
                                        mpanel = new YAHOO.widget.Panel("myFA", {width:"400px",zIndex:50, constraintoviewport: false, underlay:"shadow", close:true, visible:false, modal:true, draggable:false, y:48, x:xpos}  );
					//y:48, x:xpos
                                        mpanel.setHeader("My Account");
                                        mpanel.setBody(rtr['panel']);
                                        mpanel.render("mpanel");
                                        mpanel.show();

				} else {
					createPanel(this.type, rtr['header'], rtr['panel'], width);
					if (this.runThis != null) {
						eval(this.runThis);
					}
				}
                        } else {
                                alert('An error has occured please try again later');
                        }
                }
        }
}
function createPanel(inType, inHeader, inBody, inWidth) {
	
	mpanel = new YAHOO.widget.Panel(inType, {width:inWidth, fixedcenter: true, constraintoviewport: true, underlay:"shadow", close:true, visible:false, modal:true, draggable:false} );
        mpanel.setHeader(inHeader);
        mpanel.setBody(inBody);
        mpanel.render("mpanel");
        mpanel.show();
}

function mySettings(type) {
	if (type == "show") {
		checkIsLogin('showPanel(\'my_settings\',2)');
	} else {
		var email_me = 0;
		if (get_element("setting_email_me").checked) {
			email_me = 1;
		}
		var discussion_order = get_value("setting_discussion_order");
		var obj = new SaveSettings(email_me, discussion_order);
                obj.check();
	}
}
function SaveSettings(email_me, discussion_order) {
        this.email_me = email_me;
        this.discussion_order = discussion_order;
}
SaveSettings.prototype.check = function() {
        set_html("save_setting_status",spinner_img);
        var post = "ajax=1&action=save_setting";
        post += "&email_me="+this.email_me+"&discussion_order="+this.discussion_order;
        var url = site_url + 'access_ajax.php';
        AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
SaveSettings.prototype.failure = function(o) {
        set_html('save_setting_status','An error has occured please try again later');
}
SaveSettings.prototype.success = function(o) {
        if(o.responseText != undefined){
                var returnTxt =o.responseText;
                var rtr = returnTxt.parseJSON();
                if (rtr['status'] != undefined) {
                        if (rtr['status'] == 'Success') {
				set_html('save_setting_status','Saved');
			} else if (rtr['status'] == 'Signin') {
                                signin('show');
                        } else {
                                set_html('save_setting_status','An error has occured please try again later');
                        }
                }
        }
}

function signin(type) {
	if (type == "show") {
		showPanel('signin');	
	} else {
		var email = get_value("signin_email");
		var password = get_value("signin_password");
		var remember = 0;
		if (get_element('signin_remember').checked ) {
			remember = 1;
		}
		if (email == "") {
			set_html("signin_error","Please enter your email");
		} else if (password == "") {
			set_html("signin_error","Please enter your password");
		} else {
			var obj = new Signin(email, password, remember);
			obj.check();
		}
	}
	return false;
}
function Signin(email, password, remember) {
	this.email = email;
	this.password = password;
	this.remember = remember;
}
Signin.prototype.check = function() {
	set_html("signin_error",spinner_img);
	set_html('msg',spinner_img);
        var post = "ajax=1&action=signin";
        post += "&email="+this.email+"&password="+this.password+"&remember="+this.remember;
      	var url = site_url + 'access_ajax.php';
	AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
Signin.prototype.failure = function(o) {
	set_html('signin_error','An error has occured please try again later');
}
Signin.prototype.success = function(o) {
	if(o.responseText != undefined){
		var returnTxt =o.responseText;
        	var rtr = returnTxt.parseJSON();
        	if (rtr['status'] != undefined) {
        		if (rtr['status'] == 'Success') {
				var rtr_url = get_value('return_url');
				if (rtr_url != '') {
					document.location.href = rtr_url;
				} else {
					document.location.reload(true);
				}
           		} else if (rtr['status'] == 'Error') {
              			set_html('signin_error',rtr['msg']);
           		} else {
				set_html('signin_error','An error has occured please try again later');
     			}
		}
	}
}

function join(type) {
	if (type == "show") {
		showPanel('join');
	} else {
		var email = get_value("email");
		var password = get_value("password");
		var username = get_value("username");
		var findus = get_value("findus");
		var findus_other = get_value("findus_other");
		var text_img = get_value("text_img");
		var email_me = 0;
		if (get_element('email_me').checked) {
			email_me = 1;
		}
	
		if (username == "") {
			set_html('msg',"Please enter your username");
		} else if (email == "") {	
			set_html('msg',"Please enter your email");
		} else if (password == "") {
			set_html('msg',"Please enter your password");
		} else if (findus == "") {
			set_html('msg',"How did you find us?");
		} else if (text_img == "") {
			set_html('msg',"Please type in the text you see");
		} else {	
			if (findus == 10 && findus_other == "") {
				var findus = get_value("findus");
			} else {	
				var obj = new Join(email, password, username, findus, findus_other, text_img, email_me);
				obj.check();
			}
		}
	}
	return false;
}

function Join(email, password, username, findus, findus_other, text_img,email_me) {
	this.email = email;
	this.password = password;
	this.username = username;
	this.findus = findus;
	this.findus_other = findus_other;
	this.text_img = text_img;
	this.email_me = email_me;
}
Join.prototype.check = function() {
	set_html('msg',spinner_img);
        var post = "ajax=1&action=join";
        post += "&email="+this.email+"&password="+this.password+"&username="+this.username;
        post += "&findus="+this.findus+"&findus_other="+this.findus_other;
        post += "&text_img="+this.text_img+"&email_me="+this.email_me;
      	var url = site_url + 'access_ajax.php';
	AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
Join.prototype.failure = function(o) {
	set_html('msg','An error has occured please try again later');
}
Join.prototype.success = function(o) {
	if(o.responseText != undefined){
		var returnTxt =o.responseText;
        	var rtr = returnTxt.parseJSON();
        	if (rtr['status'] != undefined) {
        		if (rtr['status'] == 'Success') {
				document.location.reload(true);
				mpanel.hide();
				mpanel = null;
				set_html('msg','');
           		} else if (rtr['status'] == 'Error') {
              			set_html('msg',rtr['msg']);
              			
           		} else {
				set_html('msg','An error has occured please try again later');
     			}
		}
	}
}
function forgot_password(type) {
	if (type == "show") {
               showPanel('forgot_password');
        } else {
		var email = get_value('fp_email');
		if(email == '') {
			set_html('forgot_password_error','Please enter your email');
		} else {
			var gp = new GetPwd(email);
	        	gp.send();	
		}
	}
}
function GetPwd(email) {
        this.email = email;
}
GetPwd.prototype.send = function() {
	set_html('forgot_password_error',spinner_img);
        var post = "ajax=1&action=forgot_password&email="+textEncode(this.email);
	  var url = site_url + 'access_ajax.php';
        AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
GetPwd.prototype.failure = function(o) {
        set_html('forgot_password_error', "Network error");
}
GetPwd.prototype.success = function(o) {
        if(o.responseText != undefined){
                var returnTxt =o.responseText;
                var rtr = returnTxt.parseJSON();
                if (rtr['status'] != undefined) {
                        if (rtr['status'] == 'Success') {
				get_element('email').value = "";
				set_html('forgot_password_error','Please look for your password in your email '+this.email);
                        } else if (rtr['status'] == 'Error') {
                                set_html('forgot_password_error',rtr['msg']);
                        } else {
                                set_html('forgot_password_error','Network error');
                        }
                }
        }
}
function setupShare(subject, inUrl, content_type) {
	var url = inUrl;
        if (inUrl == '') {
        	url = document.URL;
		url = unescape(url);
		url = ReplaceAll(url," ","_");
		url = ReplaceAll(url,"#","");
      	}
	var username = get_value('signin_username');
        get_element('sp_subject').value = unescape(subject);
        var txt = "Cribseek member "+username+" would like to share this "+content_type+" with you:\n" + url + "\n\n";
        txt += "Please visit the link above for the "+content_type+"\n\n";
        txt += "PLEASE NOTE: This email was initiated by "+username+", not by Cribseek.\n";
        txt += "If you have any questions, please contact our Customer Support team.";

        get_element('sp_email_txt').value = txt;
        get_element('sp_url').value = url;
}
function share(type, subject, inUrl, content_type) {
	var username = get_value('signin_username');
	if (username == "") {
		signin('show');
	} else if (type == "show") {
		showPanel('share','setupShare(\''+subject+'\',\''+inUrl+'\',\''+content_type+'\')');
	} else {
		// submit
		shareValidate();
	}        
}
function shareValidate() {
        var email = get_value('sp_email');
        var subject = get_value('sp_subject');
        var msg = get_value('sp_msg');
        if (email == "") {
                set_html('sp_error','Please enter your friends email');
        } else if (subject == "") {
                set_html('sp_error','Please enter a subject');
        } else {
                var ss = new SendShare(email, subject, msg, get_value('sp_url'));
                ss.send();
        }
        return false;
}
function SendShare(email, subject, msg, url) {
        this.email = email;
        this.subject = subject;
        this.msg = msg;
        this.url = url;
}
SendShare.prototype.send = function() {
        set_html('sp_error',spinner_img);
        var post = "ajax=1&action=send_share&emails="+textEncode(this.email);
        post += "&subject="+textEncode(this.subject)+"&msg="+textEncode(this.msg)+"&url="+textEncode(this.url);
        post += "&email_txt="+textEncode(get_value('sp_email_txt'));
        var url = site_url + 'access_ajax.php';
        AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
SendShare.prototype.failure = function(o) {
        set_html('sp_error', "Network error");
}
SendShare.prototype.success = function(o) {
        if(o.responseText != undefined){
                var returnTxt =o.responseText;
                //alert(returnTxt);
                var rtr = returnTxt.parseJSON();
                if (rtr['status'] != undefined) {
                        if (rtr['status'] == 'Success') {
                                get_element('sp_subject').value = "";
                                get_element('sp_email_txt').value = "";
                                get_element('sp_url').value = "";
				mpanel.hide();
				mpanel = null;
                                set_html('sp_error','');
			} else if (rtr['status'] == 'Signin') {
			        signin('show');
                        } else if (rtr['status'] == 'Error') {
                                set_html('sp_error',rtr['msg']);
                        } else {
                                set_html('sp_error','Network error');
                        }
                }
        }
}
function loadShareEmails() {
        var ls = new LoadShare();
        ls.send();
}
function LoadShare() {}
LoadShare.prototype.send = function() {
        set_html('sp_load',spinner_img);
        var post = "ajax=1&action=load_share";
        var url = site_url + 'access_ajax.php';
        AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
LoadShare.prototype.failure = function(o) {
        set_html('sp_load', "Network error");
}
LoadShare.prototype.success = function(o) {
        if(o.responseText != undefined){
                var returnTxt =o.responseText;
                //alert(returnTxt);
                var rtr = returnTxt.parseJSON();
                if (rtr['status'] != undefined) {
                        if (rtr['status'] == 'Success') {
                                set_html('sp_load','');
                                get_element('sp_email').value = rtr['share_emails'];
                        } else if (rtr['status'] == 'Error') {
                                set_html('sp_load',rtr['msg']);
                        } else if (rtr['status'] == 'Signin') {
				signin('show');
                        } else {
                                set_html('sp_load','Network error');
                        }
                }
        }
}
function checkIsLogin(successFunc) {
	var obj = new IsLogin(successFunc);
        obj.check();
        return false;
}

function IsLogin(successFunc) {
        this.successFunc = successFunc;
}
IsLogin.prototype.check = function() {
        var post = "ajax=1";
        var url = site_url + 'access_ajax.php';
        AjaxObject.startRequest(url, this.success, this.failure, post, this);
}
IsLogin.prototype.failure = function(o) { }
IsLogin.prototype.success = function(o) {
        if(o.responseText != undefined){
                var returnTxt =o.responseText;
                //alert(returnTxt);
		var rtr = returnTxt.parseJSON();
                if (rtr['status'] != undefined) {
                        if (rtr['status'] == 'Success') {
                                eval(this.successFunc);
                        } else {
				signin('show');
                        }
                }
        }
}
