var objBalloon = '';
var X = 0;
var Y = 0;
function createBalloon (evt) {
	var pos = getPos(evt);
	bl = new XBalloon();
	//bl.contentDivID = "balloonCont";
	//bl.allowContentClone = false;
	
	bl.title="";
	bl.id = "samaBalloon";
	
	bl.autoHide=false;
	//bl.autoHideInterval=5000;
	
	//no trailing slash
	bl.imagesDir = cfg_img_url;

	if (X == 0) {
		bl.posX = pos[0];
		X	= pos[0];
	} else 
		bl.posX = X;
	
	if (Y == 0) { 
		bl.posY = pos[1];
		Y	= pos[1];
	} else 
		bl.posY = Y;

	//alert("x "+bl.posX);
	//alert("y "+bl.posY);
	return bl;
}

function makeAjaxSubmit(url, params) {
        xmlhttp1 = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
                xmlhttp1 = new XMLHttpRequest(); //Creating a javascript object.
                if (xmlhttp1.overrideMimeType) {
                        // set type accordingly to anticipated content type
                        xmlhttp1.overrideMimeType('text/html');
                }
        } else if (window.ActiveXObject) { // IE
                try {
                                xmlhttp1 = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                                try {
                                        xmlhttp1 = new ActiveXObject("Microsoft.XMLHTTP");
                                } catch (e) {}
            }
        }
        if (!xmlhttp1) {
                        alert('Please update your browser');
                        return false;
        }
        if(xmlhttp1) {
                        if (params) {
                                var method = "POST";
                        } else {
                                var method = "GET";
                        }
                        xmlhttp1.open(method,url,true);
                        xmlhttp1.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
                        xmlhttp1.send(params);
                        xmlhttp1.onreadystatechange = function() {
/*
					if (xmlhttp1.readyState < 4) {
						objBalloon.contentHtml = "<br> <img src='"+cfg_img_url+"/loader.gif' border='0'> <br> Loading...";
						if (!g_xBalloonManager.hasBalloon("samaBalloon")) {
							objBalloon.show();
						}
					}
*/
                                        if (xmlhttp1.readyState == 4) {
						
						//var divContainer = document.getElementById("divContentHolder");
						//divContainer.innerHTML = xmlhttp1.responseText;
                                                objBalloon.contentHtml = xmlhttp1.responseText;
						objBalloon.show();
                                        } 
                        }
			//objBalloon.show();
        }
} //end of function makeAjaxSubmit()

function submitReadLater(evt) {
	var rlChkBox = document.getElementById('rlchk');	
	var emailChkBox = document.getElementById('emailchk');
	var mailTxtBox = document.getElementById('mailid');
	var params = new Array();
	var i = 0;
	if (rlChkBox.checked || emailChkBox.checked) {
		/*** Commented by Senthil - rssid needs to be posted for sending mail. ***/
		if (rlChkBox.checked) {
			var rssid = rlChkBox.value;
			params[i] = "rssid="+rssid;
			i++;
		}
		if (emailChkBox.checked) {
			if (!mailTxtBox.value) {
				alert("Please specify Friend's mail id");
				return false;
			} 
			var mailid = mailTxtBox.value;
			//To pass rssid of the article in case if readlater option is not choosen and this is used in the mail content.
			mailid += "||" + rlChkBox.value;
			params[i] = "mailid="+mailid;
			i++;
		}
	} else {
		alert ("Please choose atleast one option and submit");
		return false;
	}
	params[i] = "action=1";
	var postparams = params.join("&");

        if (g_xBalloonManager.hasBalloon("samaBalloon")) {
                balloon.hide();
        }

	balloon = createBalloon(evt);
        balloon.autoHide = true;
        balloon.autoHideInterval = 5000;

        objBalloon = balloon;

        //var URL = cfg_mysama_url+"/readlater.php";
        var URL = "/readlater.php";
        var params = postparams; //send 'null' since it is GET
        makeAjaxSubmit(URL, params);

}


function showReadLater(evt, rssId) {
	if (g_xBalloonManager.hasBalloon("samaBalloon")) {
		balloon.hide();
	}
	X = Y = 0;

	balloon = createBalloon(evt);
	objBalloon = balloon;

        //var URL = cfg_mysama_url+"/readlater.php?rssid="+rssId;
        var URL = "/readlater.php?rssid="+rssId;
        var params = null; //send 'null' since it is GET
        makeAjaxSubmit(URL, params);
}

function submitSignIn(evt) {
	var user_name = document.getElementById("userName");
	var password = document.getElementById("password");
	var rssid = document.getElementById("rssid").value; //hidden. used to maintain RSS id chose by user
	var max_username_length = 60;
	//var min_username_length = 6;
	var min_password_length = 4;
	var max_password_length = 8;
	var username_length = user_name.length;
	var valPwd = password.value;
	var valUname = user_name.value;
	var pwd_length = valPwd.length;
	
	if(!valUname) {
		alert("Please enter your Email ID");
		user_name.focus();
		return false;
	}
	
	if(valUname.indexOf('')>0) {
		alert("Email ID cannot contain spaces");
		user_name.focus();
		return false;
	}
	
	if (username_length > max_username_length) {
		alert("Email ID can contain a  maximum of " + max_username_length + " characters only\n");
		return false;
	}

	validEmail = new RegExp ("^[a-z]+[a-z0-9]*[\.|\-|_]?[a-z0-9]+@([a-z]+[a-z0-9]*[\.|\-]?[a-z]+[a-z0-9]*[a-z0-9]+){1,4}\.[a-z]{2,4}$", "g");
	if (!validEmail.test(valUname)) {
		alert("Please enter a valid Email ID");
		return false;
	}
	
	if( !password.value ) {
		alert("Please enter the password");
		password.focus();
		return false;
	}
	
	if (pwd_length > max_password_length) {
		alert("Password can contain a  maximum of " + max_password_length + " characters only\n");
		return false;
	}
	
	if (pwd_length < min_password_length) {
		alert("Password should contain minimum of " + min_password_length + " characters atleast\n");
		return false;
	}
	
	var valid_first_pcharacters = new RegExp ("[a-zA-Z0-9]", "g");
	var first_pcharacter = valPwd.charAt(0);
	if (!valid_first_pcharacters.test (first_pcharacter)) {
		alert("Password must begin with an alphabet or number \n");
		password.focus();
		return false;
	}
	
	var valid_pcharacters;
	for (var j = 1; j < pwd_length; j++) {
		invalid_pcharacters = new RegExp ("[`]", "g");
		part_pwd_name = valPwd.charAt (j);
		if (invalid_pcharacters.test (part_pwd_name)) {
			alert("Special characters like '" + part_pwd_name + "' are not allowed in password");
			return false;
		}
		invalid_pcharacters = null;
	}

        if (g_xBalloonManager.hasBalloon("samaBalloon")) {
                balloon.hide();
        }

        balloon = createBalloon(evt);
        objBalloon = balloon;

	params = "userName="+valUname+"&password="+valPwd+"&rssid="+rssid+"&balloon=yes";
	//var URL = cfg_mysama_url+"/login.php";
	var URL = "/login.php";
        //var params = postparams; //send 'null' since it is GET
        makeAjaxSubmit(URL, params);

}

function newUserRegister(evt) {
	var rssId = document.getElementById("rssid").value;

        if (g_xBalloonManager.hasBalloon("samaBalloon")) {
                balloon.hide();
        }

        balloon = createBalloon(evt);
        objBalloon = balloon;

	//var URL = cfg_mysama_url+"/newuserregister.php?rssid="+rssId;
	var URL = "/newuserregister.php?rssid="+rssId;
        var params = null; //send 'null' since it is GET
        makeAjaxSubmit(URL, params);
}

function submitSignUp(evt) {
	var user_name = document.getElementById("username");
	var password = document.getElementById("password");
	var rssId = document.getElementById("rssid").value;
	var conf_password = document.getElementById("conf_password");
	var imgtxt = document.getElementById("imgtxt");
	var valImgtxt = imgtxt.value;
	var max_username_length = 60;
	var min_password_length = 4;
	var max_password_length = 8;
	var username_length = user_name.length;
	var valPwd = password.value;
	var valConfPwd = conf_password.value;
	var valUname = user_name.value;
	var pwd_length = valPwd.length;
	
	if(!valUname) {
		alert("Please enter your Email ID");
		user_name.focus();
		return false;
	}
	
	if(valUname.indexOf('')>0) {
		alert("Email ID cannot contain spaces");
		user_name.focus();
		return false;
	}
	
	if (username_length > max_username_length) {
		alert("Email ID can contain a  maximum of " + max_username_length + " characters only\n");
		return false;
	}

        validEmail = new RegExp ("^[a-z]+[a-z0-9]*[\.|\-|_]?[a-z0-9]+@([a-z]+[a-z0-9]*[\.|\-]?[a-z]+[a-z0-9]*[a-z0-9]+){1,4}\.[a-z]{2,4}$", "g");
        if (!validEmail.test(valUname)) {
                alert("Please enter a valid Email ID");
                return false;
        }

	if(!valPwd) {
		alert("Please enter the password");
		password.focus();
		return false;
	}
	
	if(!valConfPwd) {
		alert("Please enter Confirm password");
		conf_password.focus();
		return false;
	}

	if (pwd_length > max_password_length) {
		alert("Password can contain a  maximum of " + max_password_length + " characters only\n");
		return false;
	}
	
	if (pwd_length < min_password_length) {
		alert("Password should contain minimum of " + min_password_length + " characters atleast\n");
		return false;
	}
	
	var valid_first_pcharacters = new RegExp ("[a-z,A-Z,0-9]", "g");
	var first_pcharacter = valPwd.charAt(0);
	if (!valid_first_pcharacters.test (first_pcharacter)) {
		alert("Password must begin with an alphabet or number \n");
		password.focus();
		return false;
	}
	
	var valid_pcharacters;
	for (var j = 1; j < pwd_length; j++) {
		invalid_pcharacters = new RegExp ("[`]", "g");
		part_pwd_name = valPwd.charAt (j);
		if (invalid_pcharacters.test (part_pwd_name)) {
			alert("Special characters like '" + part_pwd_name + "' are not allowed in password");
			return false;
		}
		invalid_pcharacters = null;
	}
	
	if (valPwd != valConfPwd) {
		alert("Password and Confirm password should be same");
		return false;
	}

	if(!valImgtxt) {
		alert("Please enter the Image text and submit");
		imgtxt.focus();
		return false;
	}

        if (g_xBalloonManager.hasBalloon("samaBalloon")) {
                balloon.hide();
        }

        balloon = createBalloon(evt);
	//balloon.autoHide=true;
	//balloon.autoHideInterval=5000
        objBalloon = balloon;

	//var URL = cfg_mysama_url+"/newuserregister.php";
	var URL = "/newuserregister.php";
	var params = "user="+valUname+"&pwd="+valPwd+"&imgtxt="+valImgtxt+"&rssid="+rssId;
        makeAjaxSubmit(URL, params);
} //end showSignUp

function checkAvailUser(evt) {
	var rssId = document.getElementById("rssid").value;
	var eleUserName = document.getElementById('username');	
	var valUname = eleUserName.value;	
	if (!valUname) {
		alert("Please enter your Email ID to check availability");
		eleUserName.focus();
		return false;
	}

        if(valUname.indexOf('') > 0) {
                alert("Email ID cannot contain spaces");
                eleUserName.focus();
                return false;
        }

        validEmail = new RegExp ("^[a-z]+[a-z0-9]*[\.|\-|_]?[a-z0-9]+@([a-z]+[a-z0-9]*[\.|\-]?[a-z]+[a-z0-9]*[a-z0-9]+){1,4}\.[a-z]{2,4}$", "g");
        if (!validEmail.test(valUname)) {
                alert("Please enter a valid Email ID");
                return false;
        }

	
        if (g_xBalloonManager.hasBalloon("samaBalloon")) {
                balloon.hide();
        }

        balloon = createBalloon(evt);
        objBalloon = balloon;

	var params = "user="+valUname+"&rssid="+rssId+"&chkuser=1";
	//var URL = cfg_mysama_url+"/newuserregister.php";
	var URL = "/newuserregister.php";
        makeAjaxSubmit(URL, params);

}

function getPos(e) {
        var posx = 0;
        var posy = 0;

        if (!e) var e = window.event;
                if (e.pageX || e.pageY) {
                        posx = e.pageX;
                        posy = e.pageY;
                }
                else if (e.clientX || e.clientY)        {
                        posx = e.clientX + document.body.scrollLeft     + document.documentElement.scrollLeft;
                        posy = e.clientY + document.body.scrollTop      + document.documentElement.scrollTop;
                }

        var pos=new Array();
        pos[0]=posx;
        pos[1]=posy;
        return pos;
}

/* function to create balloon for new user registration */
function createNewUser(evt) {
        if (g_xBalloonManager.hasBalloon("samaBalloon")) {
                balloon.hide();
        }
	X = Y = 0; //initialize balloon coordinates

        balloon = createBalloon(evt);
        objBalloon = balloon;

	//var URL = cfg_mysama_url+"/newuserregister.php?rssid=no";
	var URL = "/newuserregister.php?rssid=no";
        var params = null; //send 'null' since it is GET
        makeAjaxSubmit(URL, params);

} //end of create new user

function submitOnEnter(e) {
	if ( (e && e.keyCode == 13) || (e.charCode == 13)){
		submitSignIn(e);
	}
} //end submitOnEnter()

function submitSignUpOnEnter(e) {
	if ( (e && e.keyCode == 13) || (e.charCode == 13)){
		submitSignUp(e);
	}
} //end submitOnEnter()

function createForgotPassForm(evt) {
        if (g_xBalloonManager.hasBalloon("samaBalloon")) {
                balloon.hide();
        }
        X = Y = 0;

        balloon = createBalloon(evt);
        balloon.title = "<span class=tahomabold11blue>Forgot Your Password </span>";
        objBalloon = balloon;

        //var URL = cfg_mysama_url+"/forgotpass.php";
        var URL = "/forgotpass.php";
        var params = null; //send 'null' since it is GET
        makeAjaxSubmit(URL, params);
} //end createForgotPassForm()

function ValForgotPass(evt) {
        var username=document.getElementById("email").value;
	if(ValForgotPassForm(username)) {
        	if (g_xBalloonManager.hasBalloon("samaBalloon")) {
                	balloon.hide();
        	}
	        balloon = createBalloon(evt);
	        //balloon.autoHide = true;
	        //balloon.autoHideInterval = 5000;
	
	        objBalloon = balloon;
	
	        var params = "username="+username;
	        //var URL = cfg_mysama_url+"/forgotpass.php";
	        var URL = "/forgotpass.php";
	        makeAjaxSubmit(URL, params);
	}
}//end of ValForgotPass

function ValForgotPassForm(valUname){
var user_name=document.getElementById("email");
	var max_username_length = 60;
	var username_length = valUname.length;
	if(!valUname) {
		alert("Please enter your Email ID");
		user_name.focus();
		return false;
	}
	if(valUname.indexOf('')>0) {
		alert("Email ID cannot contain spaces");
		user_name.focus();
		return false;
	}
		if (username_length > max_username_length) {
		alert("Email ID can contain a  maximum of " + max_username_length + " characters only\n");
		return false;
	}
        validEmail = new RegExp ("^[a-z]+[a-z0-9]*[\.|\-|_]?[a-z0-9]+@([a-z]+[a-z0-9]*[\.|\-]?[a-z]+[a-z0-9]*[a-z0-9]+){1,4}\.[a-z]{2,4}$", "g");
        if (!validEmail.test(valUname)) {
                alert("Please enter a valid Email ID");
                return false;
	}
	return true;
}

function shownewsletter(evt) {
	if (g_xBalloonManager.hasBalloon("samaBalloon")) {
		balloon.hide();
	}
	X = Y = 0;
	balloon = createBalloon(evt);
	objBalloon = balloon;
        var URL = "/subscribenewsletter.php";
        var params = null; 
        makeAjaxSubmit(URL, params);
}
function submitNewsletter(evt){
	var user_name = document.getElementById("nluserEmailid");
	var max_username_length = 60;
	var username_length = user_name.length;
	var valUname = user_name.value;

	if(!valUname) {
		alert("Please enter your Email ID");
		user_name.focus();
		return false;
	}
	if(valUname.indexOf('')>0) {
		alert("Email ID cannot contain spaces");
		user_name.focus();
		return false;
	}
		if (username_length > max_username_length) {
		alert("Email ID can contain a  maximum of " + max_username_length + " characters only\n");
		return false;
	}
	validEmail = new RegExp ("^[a-z]+[a-z0-9]*[\.|\-|_]?[a-z0-9]+@([a-z]+[a-z0-9]*[\.|\-]?[a-z]+[a-z0-9]*[a-z0-9]+){1,4}\.[a-z]{2,4}$", "g");
	if (!validEmail.test(valUname)) {
			alert("Please enter a valid Email ID");
			return false;
	}

	if (g_xBalloonManager.hasBalloon("samaBalloon")) {
			balloon.hide();
	}
	balloon = createBalloon(evt);
	objBalloon = balloon;
	var URL = "/newsletterDetails.php";
	var params = "email="+valUname;
	makeAjaxSubmit(URL, params);

}
function clearNLBlUserName()
{
	if(document.getElementById('nluserEmailid').value=='Enter your mail ID')
	document.getElementById('nluserEmailid').value='';
}
function getNLBlUserName()
{
	if(document.getElementById('nluserEmailid').value=='')
	document.getElementById('nluserEmailid').value='Enter your mail ID';
}