
var IE6 = navigator.userAgent.toUpperCase().indexOf('MSIE 6.') > -1;
var includeSound = !IE6;

var MH = {};

MH.changeClass = function(elem, className)
{
    if(elem.className != className)
    {
        elem.className = className;
    }
}

MH.$ = function(elemId)
{
    return document.getElementById(elemId);
}

function addLoadListener(fn)
{
      if (typeof window.addEventListener != 'undefined')
      {
        window.addEventListener('load', fn, false);
      }
      else if (typeof document.addEventListener != 'undefined')
      {
        document.addEventListener('load', fn, false);
      }
      else if (typeof window.attachEvent != 'undefined')
      {
        window.attachEvent('onload', fn);
      }
      else
      {
            var oldfn = window.onload;
            if (typeof window.onload != 'function')
            {
                window.onload = fn;
            }
            else
            {
                window.onload = function()
                {
                    oldfn();
                    fn();
                };
            }
      }
}

function yeddaHelpText()
{
    var div = $$(".YeddaAskWidget_HelpText")[0];
    div.innerHTML = "Ask a question and get answers from Yedda's community:";
    div.style.display = "block";
}

/**
* ==================================
* sign In
* ==================================
*/ 

var popupupLoginOpen = false;
function cancelSignInFromPopup()
{
    popupupLoginOpen = false;
    Dialog.closeInfo();
}

function signInFromPopup(formId, returnUrl)
{
    signIn(formId, true, returnUrl);     
}
   
function signIn(formId, isDialogOpen, returnUrl) 
{
    $(formId).request( 
	{
	    evalScrtips: true,
		onSuccess: function(t) 
		{ 
			if (t.responseText == 'OK')
			{	
			    if(returnUrl != undefined && returnUrl != "undefined")
			    {
			        location.replace(returnUrl);
			    }
			    else
			    {
			        location.reload();
			    }
			}
			else
			{
			    if(returnUrl != undefined && returnUrl != "undefined")
			    {
			        location.replace(returnUrl);
			    }
			    else
			    {
			        location.replace(t.responseText);
		        }
		    }
			if(isDialogOpen)
				Dialog.closeInfo();
		},
		onFailure: function(t) 
		{ 
			var message = 
			        '<div style="text-align: left; padding: 0 5px;">Sorry, but the user password combination you entered is not registered with us.<br /><br />' + 
                    'Try the following:<br />' + 
                    '1. Re-enter your username/password.<br />' +
                    '2. Register (if you haven\'t).<br />' + 
                    '3. Click "Forgot password".<br />' +
                    '4. Contact us [link] for help.</div>';
			if (t.responseText.indexOf('ERR') == 0)
				message = t.responseText.replace('ERR','');
			showServiceMessage(message, 350, 230);
		}
	});
}

function signout() {   
    new Ajax.Request(siteRoot + "/Users/Signout.aspx", {
        onSuccess: function() {
            window.location.reload();
        }   
    });
}

function showLoginPopup(oArg)
{    
    if(!popupupLoginOpen)
    {
        popupupLoginOpen = true;
    }
    else
        return;
        
    //showErrorMessage, returnUrl, errorMessage
    var registeredOnly = oArg.registeredOnly;
    var returnUrl = oArg.returnUrl;
    
    var dialogHeight = 470;
    var errorMessage = "";
    
    if(registeredOnly === true)
    {
        if(returnUrl != null && returnUrl.indexOf("Mailbox/List.aspx?login") > -1)
        {
            errorMessage = '<caption class="Required">You have to be logged in to see your personal inbox.<br />Please enter your user name and password.</caption>';
        }
        else
        {
            errorMessage = '<caption class="Required">This option is only open for registered members.<br />Please login or sign up to become one.</caption>';
        }
        dialogHeight = 500;
    }
    else
    {
        //errorMessage += 'msg' in oArg ? oArg.msg : "";
        errorMessage += typeof (oArg.msg) == "undefined" ?  "" : oArg.msg;
        if(errorMessage != "")
        {
            errorMessage = '<caption class="Required" >' + errorMessage + '</caption >';
            dialogHeight = 500;
        }
    }
   
    var div =   '<div id="loginPopup" style="width: 530px">' +
        '<div id="LoginPopupInner">' +
            '<table cellspacing="10" cellpadding="10" width="100%" style="margin: 0 auto; text-align: center" >' +
                 errorMessage +
                '<tr><td style="text-align: center; width:50%">' +
                        '<div class="Login Break">' +
				            '<div class="Inner">' +
					            '<h5>Member Login</h5>' +
					            '<form id="PopupLoginForm" class="LoginForm" action="' + fullSiteRoot + '/Users/SignIn.aspx" method="post" onsubmit="signInFromPopup(\'PopupLoginForm\', \'' + returnUrl + '\'); return false">' + 
					                '<div><label for="username">User name/Email:</label></div>' +
					                '<input id="usernameInputPopup" class="Field" type="text" name="username" />' +
					                '<div><label for="signinPassword">Password:</label></div>' +
					                '<input class="Field" type="password" name="signinPassword" />' +
					                '<div class="RememberMe">' +
						                '<span><input type="checkbox" name="rememberme" id="ChkRememberme" />' +
							            '<label for="rememberme">Remember Me</label></span>' +
                                        '<input style="margin-right: 2px;" class="Login" type="submit" onmouseover="MH.changeClass(this, \'LoginFleep\')" onmouseout="MH.changeClass(this, \'Login\')" value="Login"/>' +
                                        
						            '</div>' + 
						        '</form>' +
					        '</div>' +
					        '<div style="clear:both"></div>' +
                        '</div>' +
						'<div id="SignUpEmailErrorContainer" class="Error Required PopupError" style="display: none"></div>' +
    					'<div id="SignUpRetypedEmailErrorContainer" class="Error Required PopupError" style="display: none"></div>' +
						'<div id="SignUpUsernameErrorContainer" class="Error Required PopupError" style="display: none"></div>' +
						'<div id="SignUpUsernameExistErrorContainer" class="Error Required PopupError" style="display: none"></div>' +
						
						'<div id="SignUpPasswordErrorContainer" class="Error Required PopupError" style="display: none"></div>' +
						'<div id="SignUpRetypePasswordErrorContainer" class="Error Required PopupError" style="display: none"></div>' +
						'<div id="SignUpCaptchaErrorContainer" class="Error Required PopupError" style="display: none"></div>' +
						'<div id="SignUpUserAgreedErrorContainer" class="Error Required PopupError" style="display: none"></div>' +
                         '<div class="Login">' +
				            '<div class="Inner">' +
                                '<div class="AlignLeft"><a href="javascript:toggleContent({id:\'ForgotPasswordPannel\'});">I forgot my password</a></div>' +
                                '<div class="AlignLeft" id="ForgotPasswordPannel" style="display: none;">' +                        
                                        '<form id="PanelLoginForgotPasswordForm" action="/Users/ForgotPassword.aspx" method="post" onsubmit="forgotPassword(\'PanelLoginForgotPasswordForm\'); return false;">' +
                                        '<label  for="email">Enter your email:</label>' +
                                        '<input class="Field" type="text" name="forgotPassEmail" />' +
                                        '<div class="AlignRight"><a href="javascript:forgotPassword(\'PanelLoginForgotPasswordForm\')">Submit</a></div>' +
                                        '</form>' + 
                                '</div>' + 
                            '</div>' + 
                        '</div>' +                 
                    
                    '</td>' +
                    '<td style="text-align: center; width:50%">' +
                        '<div class="Login Break">' +
                            '<form id="PopupSignUpForm" class="LoginForm" action="/Users/CreateFromPopup.aspx" method="post" onsubmit="signUpFromPopup(); return false">' + 
				                '<div class="Inner">' +
					                '<h5>Sign Up</h5>' +
    					                
									    '<div><span class="Required">*</span><label for="user.Email">Email:</label></div>' +
					                    '<input class="Field" type="text" id="Email" name="user.Email" />' +
    					                
					                    '<div><span class="Required">*</span><label for="retypedEmail">Retype Email:</label></div>' +
					                    '<input class="Field" type="text" id="RetypedEmail" name="retypedEmail" onkeyup="validateFieldsOnTheFly(this, \'Email\', \'SignUpRetypedEmailErrorContainer\', \'Original and re-typed email do not match\')"' +
					                    ' onblur="validateStringsMatchOnTheFly(this, \'Email\', \'SignUpRetypedEmailErrorContainer\', \'Original and re-typed email do not match\')" />' +
    					                
									    '<div><span class="Required">*</span><label for="user.Username">User name:</label></div>' +
					                    '<input class="Field" type="text" id="Name" name="user.Username" onblur="validateExist(this, \'SignUpUsernameExistErrorContainer\', UsernameError, \'username\')" />' +
    					                
									    '<div><span class="Required">*</span><label for="newPassword">Password:</label></div>' +
					                    '<input id="Password" class="Field" type="password" name="newPassword" autocomplete="off" maxlength="15" />' +
    					                
									    '<div><span class="Required">*</span><label for="retypedPassword">Retype Password:</label></div>' +
					                    '<input id="RetypedPassword" class="Field" type="password" name="retypedPassword" autocomplete="off" maxlength="15" onkeyup="validateFieldsOnTheFly(this, \'Password\', \'SignUpRetypePasswordErrorContainer\', \'Original and re-typed password do not match\')"' +
					                    ' onblur="validateStringsMatchOnTheFly(this, \'Password\', \'SignUpRetypePasswordErrorContainer\', \'Original and re-typed password do not match\')" />' +
    					                
    					                
						                '<div><span class="Required">*</span>Enter The Code Shown Below:</div>' +
						                '<input type="text" name="captcha" id="Captcha" class="Field" onblur="validateCaptchaCode(this, \'SignUpCaptchaErrorContainer\', \'popup\')" />' +
                                        '<div style="margin-top: 5px; Border: 1px solid #CBCFD2; width: 170px; height: 45px"><img src="' + fullSiteRoot + '/Images/CaptchaForPopup.aspx?width=170&height=45" alt="captcha" /></div>' +
    						            
						                '<div style="width: 210px" id="TermsOfService" class="CheckboxContainer">' +
                                        '<input type="checkbox" id="UserAgreed" name="userAgreed" />' +
                                        '<span class="Required">* </span>I have read and agree to the <a href="javascript:showTermsOfService()">' + 
									    'Terms of Service</a>, <a href="javascript:showPrivacyPolicy()">Privacy Policy</a> ' +
									    'and <a href="javascript:showCopyrighPolicy()">Copyright/IP Policy</a>.' +
                                        '</div>' +
                                        
    						       
					            '</div>' +
					            '<div style="clear:both"></div>' +
				                '<div class="Inner" style="margin-top: 8px">' +
				                    '<input style="margin-left: 2px; width: 60px" class="Login" type="submit" onmouseover="MH.changeClass(this, \'LoginFleep\')" onmouseout="MH.changeClass(this, \'Login\')" value="Sign up"/>' +
                                    '<button type="button" onclick="cancelSignInFromPopup();" class="PopupButtonGray Right">Cancel</button>' +                                    
                                '</div>' +
                            '</form>' +
                        '</div>' +
                    '</td>' +
                '</tr>' +
            '</table>' +
        '</div>' +
   '</div>';
   
   Dialog.confirm(div, 
		{className:"alphacube", width:530, height:dialogHeight, 
		  showEffectOptions: {duration: 0.7},	
          buttonClass: "DisplayNone",
          zIndex: 1000,
          onOk:function(win){
		  	signInFromPopup('PopupLoginForm', returnUrl);
			}
	  	});		
	
//	setTimeout(function(){
//	        var username = $('usernameInputPopup');
//	        if(username != null)
//	        {
//	            username.focus();
//	        }
//	    }, 2500);  	
}

