// JavaScript Document
YAHOO.namespace('YAHOO.MW');
dom = YAHOO.util.Dom;
evnt = YAHOO.util.Event;

inDoc = function (eID) {
    return dom.inDocument(eID);
}

var isIE = YAHOO.env.ua.ie;
isAgent = window.navigator.userAgent.indexOf;

function $(eID) {
    return (!eID) ? null : document.getElementById(eID);
}

byClass = dom.getElementsByClassName;
addClass = dom.addClass;
removeClass = dom.removeClass;
replaceClass = dom.replaceClass;

var show = function(elementId){
	if (inDoc(elementId)) {
		$(elementId).style.visibility = "visible";
		$(elementId).style.display = "block";
	}
}
    
var hide = function(elementId){
	if (inDoc(elementId)) {
		$(elementId).style.visibility = "hidden";
		$(elementId).style.display = "none";
	}
}

var easeInContent = function(elementId, elementContent){
	if (inDoc(elementId)) {
		if (!isIE) { //no animation for IE because of the integration of png files
			var contentAnim = new YAHOO.util.Anim(elementId, {
				opacity: {
					from: 1,
					to: 0
				}
			}, 1, YAHOO.util.Easing.easeOut);
			var tmpNewNode;
			contentAnim.onComplete.subscribe(function(){ //subscribed funtion for content change
				$(elementId).innerHTML = elementContent;
				
				//implement fade on changed content
				var innerContentAnim = new YAHOO.util.Anim(elementId, {
					opacity: {
						from: 0,
						to: 1
					}
				}, 1, YAHOO.util.Easing.easeOut);
				innerContentAnim.animate();
			});
			contentAnim.animate();
		}
		else {
			$(elementId).innerHTML = elementContent;
		}
	}
}



		
var easeIn = function(elementID) {
	if(inDoc(elementID)){
		$(elementID).opacity=0;
		show(elementID);
		var contentAnim = new YAHOO.util.Anim(elementID, {
			opacity: {
				from: 0,
				to: 1
			}
		}, 1, YAHOO.util.Easing.easeOut);
		contentAnim.animate();
	}
}


var easeOut = function(elementID) {
	if(inDoc(elementID)){
		$(elementID).opacity=1;
		var contentAnim = new YAHOO.util.Anim(elementID, {
			opacity: {
				from: 1,
				to: 0
			}
		}, 1, YAHOO.util.Easing.easeOut);
		contentAnim.animate();
		hide(elementID);
	}
}

var easeOutIn = function(elementId1,elementId2){
	if ( inDoc(elementId1) && inDoc(elementId2) ) {
		//if (!isIE) { //no animation for IE because of the integration of png files
			var contentAnim = new YAHOO.util.Anim(elementId1, {
				opacity: {
					from: 1,
					to: 0
				}
			}, 1, YAHOO.util.Easing.easeOut);
			
			var tmpNewNode;
			contentAnim.onComplete.subscribe(function(){ //subscribed funtion for content change
				hide(elementId1);
				$(elementId2).opacity=0;
				show(elementId2);
				
				//implement fade on changed content
				var innerContentAnim = new YAHOO.util.Anim(elementId2, {
					opacity: {
						from: 0,
						to: 1
					}
				}, 1, YAHOO.util.Easing.easeOut);
				innerContentAnim.animate();
			});
			contentAnim.animate();
		/*}
		else {
			hide(elementId1);
			show(elementId2);
		}*/
	}
}

YAHOO.MW.main = function() {
    var username_holder = ' Username';
    var password_holder = ' Password';

    var focused_username = false;
    var focused_password = false;

    var holdUsernameValue = function (e) {
        evnt.stopEvent(e);
        if (e.type == 'focus') {
            if (!focused_username) {
                $('loginUsername').value = '';
                focused_username = true;
            }
        } else {
            var iValue = $('loginUsername').value;
            if ((iValue == '') || (iValue == username_holder)) {
                $('loginUsername').value = username_holder;
                focused_username = false;
            }
        }
    }

    var holdPasswordValue = function (e) {
        evnt.stopEvent(e);
        $('loginPassword').type = 'password';
        if (e.type == 'focus') {
                $('loginPassword').value = '';
        } 
    }


    var validateLogin = function () {
        var username = $('loginUsername').value;
        var password = $('loginPassword').value;
        var missinginfo = "";

        if ($('loginUsername').value == '') {
            missinginfo += "\n -Enter Username";
        }

        if ($('loginPassword').value == '') {
            missinginfo += "\n -Enter Password";
        }

        if (missinginfo != "") {
            missinginfo = "_____________________________\n" + missinginfo + "\n_____________________________" + "\nPlease re-enter and Login again!";
            alert(missinginfo);
            return false;
        }
        else {
            if ($('loginRememberChk').checked) toMem($('frmSignIn'));

            return true;
        }
    }

    var loginSubmit = function (ev) {
        evnt.stopEvent(ev);
		if(validateLogin){
			$('frmSignIn').submit();
			//alert('LOGIN');
		}
    }

/******************************************
*	Forgot password page
******************************************/

var validateForgot = function () {
    var username = $('username');
    var email = $('emailID');
	
	//alert('validateForgot');

    var missinginfo = "";

    if ($('rbPass').checked == true) {
        if (username.value == '') {
            missinginfo += "\n -Enter Username";
            username.focus();
            error = true;
        } else if (!validInput(username.value)) {
            missinginfo += "\n -Invalid Characters in Username.";
            username.focus();
            error = true;
        } else {
            error = false;
        }
    }


    if ($('rbUser').checked == true) {
        if ((email.value == "") || (email.value.indexOf('@') == -1) || (email.value.indexOf('.') == -1)) {
            email.focus();
            error = true;
            missinginfo += "\n -Please Enter a valid Email address.";
        } else {
            error = false;
        }

    }


    if (missinginfo != "") {
        missinginfo = "_____________________________\n" + missinginfo + "\n_____________________________" + "\nPlease re-enter and Login again!";
        alert(missinginfo);
        return false;
    }
    else return true;
}

var forgotSubmit = function (ev) {
        evnt.stopEvent(ev);
		if(validateForgot()){
			$('frmForgot').submit();
		}
    }
	
setRBUser = function(){
	$('rbUser').checked=true;
	$('rbPass').checked=false;
	changetoUser();
}

setRBPass = function(){
	$('rbPass').checked=true;
	$('rbUser').checked=false;
	changetoPass();
}

 changetoPass = function(){
//$('frmForgot').username.focus();
easeOut('forgotUser');
easeIn('forgotPass');
//$('frmForgot').btnForgot.value='Email me my Password';
$('frmForgot').action.value='1';
}

 changetoUser = function(){
//$('frmForgot').emailID.focus();
easeOut('forgotPass');
easeIn('forgotUser');
//$('frmForgot').btnForgot.value='Email me my Username(s)';
$('frmForgot').action.value='2';
}
/******************************************
*	END forgot password
******************************************/

var validateAdminLogin = function () {
	var returnValue = false;
	if ($('adminUsername').value == '') {
            missinginfo += "\n -Enter Username";
        }

        if ($('adminPassword').value == '') {
            missinginfo += "\n -Enter Password";
        }

        if (missinginfo != "") {
            missinginfo = "_____________________________\n" + missinginfo + "\n_____________________________" + "\nPlease re-enter and Login again!";
            alert(missinginfo);
            returnValue = false;
        }
		else {returnValue= true;}
		
		return returnValue;
}
var adminLoginSubmit = function (ev) {
        evnt.stopEvent(ev);
		if(validateAdminLogin){
			$('frmAdminLogin').submit();
			//alert('LOGIN');
		}
    }


/******************************************
*	Cookies
******************************************/

    newCookie = function (name, value, days) {
        var days = 1; // the number at the left reflects the number of days for the cookie to last
        // modify it according to your needs
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            var expires = "; expires=" + date.toGMTString();
        }
        else var expires = "";
        document.cookie = name + "=" + value + expires + "; path=/";
    }

    readCookie = function (name) {
        var nameSG = name + "=";
        var nuller = '';
        if (document.cookie.indexOf(nameSG) == -1) return nuller;

        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameSG) == 0) return c.substring(nameSG.length, c.length);
        }
        return null;
    }

    eraseCookie = function (name) {
        newCookie(name, "", 1);
    }

    toMem = function (a) {
        newCookie('MWuser', encode_cookie($('loginUsername').value));
        newCookie('MWpass', encode_cookie($('loginPassword').value));
    }

    delMem = function (a) {
        eraseCookie('MWuser');
        eraseCookie('MWpass');
        // reset values
        $('loginUsername').value = username_holder;
        $('loginPassword').value = password_holder;
    }

/******************************************
*	END Cookies
******************************************/


/******************************************
*	Slogans
******************************************/

timedRefresh = function(timeoutPeriod) {
	//alert('hello');
	setTimeout(function(){swapSlogans();},timeoutPeriod);
}

swapSlogans = function() {
	timedRefresh(5000);
	//show('slogan1');
	if($('slogan1').style.display=='block'){
		easeOutIn('slogan1','slogan2');
		//easeOut('slogan1');
		//easeIn('slogan2');
	}else if($('slogan2').style.display=='block'){
		easeOutIn('slogan2','slogan3');
		//easeOut('slogan2');
		//easeIn('slogan3');
	}else if($('slogan3').style.display=='block'){
		//easeOut('slogan3');
		//easeIn('slogan1');
		easeOutIn('slogan3','slogan1');
	}else{
		hide('slogan1');
		hide('slogan2');
		hide('slogan3');
		easeIn('slogan1');
	}
}

	
/******************************************
*	END Slogans
******************************************/


    return {
        init: function () {

            if (inDoc('loginUsername')) {

                if (readCookie("MWuser") != "") {
                    $('loginUsername').value = decode_cookie(readCookie("MWuser"));
                } else {
                    $('loginUsername').value = username_holder;
                }

                evnt.addListener('loginUsername', 'focus', holdUsernameValue);
                evnt.addListener('loginUsername', 'blur', holdUsernameValue);

                $('loginUsername').blur();


                evnt.addListener('loginUsername', 'keydown', function (e) {
                    if (e.keyCode == 13) {
                        loginSubmit(e);
                    }
                });
            }

            if (inDoc('loginPassword')) {
                if (readCookie("MWpass") != "") {
                    $('loginPassword').value = decode_cookie(readCookie("MWpass"));
                } else {
                    $('loginPassword').value = password_holder;
                    $('loginPassword').type = 'text';
                }

                evnt.addListener('loginPassword', 'focus', holdPasswordValue);
                evnt.addListener('loginPassword', 'blur', holdPasswordValue);

                evnt.addListener('loginPassword', 'keydown', function (e) {
                    if (e.keyCode == 13) {
                        loginSubmit(e);
                    }
                });
            }

            if (inDoc('btnLogin')) {
                evnt.addListener('btnLogin', 'click', loginSubmit);
            }
			
			if (inDoc('btnForgot')) {
                evnt.addListener('btnForgot', 'click', forgotSubmit);
            }
			if (inDoc('btnAdminLogin')) {
                evnt.addListener('btnAdminLogin', 'click', adminLoginSubmit);
            }
			if (inDoc('hero-text')) {
				if (isIE) {
					show('slogan1');
					show('slogan2');
					hide('slogan3');
				}else{
					swapSlogans();
				}
            }
        }
    };
}();
evnt.onAvailable("header", YAHOO.MW.main.init);