var strBrowserType;
blnIsBrowserCompatible();
var strGroup;

function subTest()
{
   var strURL = "www.yahoo.com";
   window.open(strURL, "SeatLayout", "toolbar=no,width=840,height=558,scrollbars=yes,status=yes,menubar=no,location=no");   
}

function subGetDataAndExecute(strScriptId, strURLData, strCallBackCode, blnStamp)
{
    try
    {
        var objHead = document.getElementsByTagName("head").item(0);
        var objScript = document.getElementById(strScriptId);
        if(objScript) {
            objHead.removeChild(objScript);
        }
        if(blnStamp == true) {
            strURLData += strTimeStamp(); 
        }
        objScript = document.createElement("script");
        objScript.setAttribute("src", strURLData);
        objScript.setAttribute("id", strScriptId);
        if(strCallBackCode.length > 0)
        {
            switch(strBrowserType) {
                case "ie":
                    objScript.onreadystatechange = function() {
                        if(this.readyState == "complete" || this.readyState == "loaded")
                        {
                            subExecuteCommand(strCallBackCode, 0);
                        }
                    }
                    break;
                case "ff":
                    objScript.onload = function() {
                        subExecuteCommand(strCallBackCode, 0);
                    }
                    break;
                default:
                    alert('ERROR:: Unknown browser detected !!!');
                    break;
            }
        }
        objHead.appendChild(objScript);
        
    } catch(e) {
        subDisplayError("MiscCode.js", "subGetDataAndExecute('" + strScriptId + "', '" + strURLData + "', '" + strCallBackCode + "')", e);
    }
}
function subGetDataAndExecuteEx(strScriptId, strURLData, strCallBackCode, blnStamp) {
    try {
        var objHead = document.getElementsByTagName("head").item(0);
        var objScript = document.getElementById(strScriptId);
        if (objScript) {
            objHead.removeChild(objScript);
        }
        if (blnStamp == true) {
            strURLData += strTimeStamp();
        }
        objScript = document.createElement("script");
        objScript.setAttribute("src", strURLData);
        objScript.setAttribute("id", strScriptId);
        if (strCallBackCode.length > 0) {
            switch (strBrowserType) {
                case "ie":
                    objScript.onreadystatechange = function() {
                        if (this.readyState == "complete" || this.readyState == "loaded") {
                            subExecuteCommand(strCallBackCode, 0);
                        }
                    }
                    break;
                case "ff":
                    objScript.onload = function() {
                        subExecuteCommand(strCallBackCode, 0);
                    }
                    break;
                default:
                    alert('ERROR:: Unknown browser detected !!!');
                    break;
            }
        }
        objHead.appendChild(objScript);

    } catch (e) {
        subDisplayError("MiscCode.js", "subGetDataAndExecute('" + strScriptId + "', '" + strURLData + "', '" + strCallBackCode + "')", e);
    }
}

function blnIsBrowserCompatible()
{
    try
    {
        var arrBrowsers = new Array( new Array("MSIE", "ie"), new Array("FireFox", "ff"), new Array("Opera", "ff"), new Array("Chrome", "ff"), new Array("safari", "ff"));
        var strAgent = navigator.userAgent.toLowerCase();
        for(var intCount = 0; intCount < arrBrowsers.length; intCount++)
        {
            if(strAgent.indexOf(arrBrowsers[intCount][0].toLowerCase()) > -1)
            {
                strBrowserType = arrBrowsers[intCount][1].toLowerCase();
                return true;
            }
        }
    } catch(e) {
        subDisplayError("MiscCode.js", "blnIsBrowserCompatible()", e);
    }
    return false;
}

function subDisplayError(strFileName, strFunctionName, objError)
{
    alert("File: " + strFileName + "\nFunction: " + strFunctionName + "\nError: " + objError.message);
    //alert(strFunctionName);
}

function subAddToCombo(objCombo, strText, strValue)
{
    try {
        var strComboId = objCombo.id;
        var strOptionId = strComboId + "_opt_" + strValue;
        var objOption = document.getElementById(strOptionId);
        if(!objOption)
        {
            objOption = document.createElement("option");
            objOption.setAttribute("id", (strComboId + "_opt_" + strValue));
            objOption.setAttribute("value", strValue);
            objOption.innerHTML = strText;
            objCombo.appendChild(objOption);
            
        }
    } catch(e) {
        subDisplayError("MiscCode.js", "subAddToCombo('" + objCombo.id + "', '" + strText + "', '" + strValue + "', '" + strGroup + "')", e);
    }
}

function subAddToComboForCinema(objCombo, strText, strValue)
{
    try {
    
        var strComboId = objCombo.id;
        var strOptionId = strComboId + "_opt_" + strValue;
        var objOption = document.getElementById(strOptionId);
        if(!objOption)
        {
            objOption = document.createElement("option");
            objOption.setAttribute("id", (strComboId + "_opt_" + strValue));
            objOption.setAttribute("value", strValue);
            objOption.innerHTML = strText;
            objCombo.appendChild(objOption);
            if((strValue.length)< 2)
            {
                objOption.style="color:DeepPink; font-weight:bold;"
            }
            
        }
    } 
    catch(e) {
        if(!objOption)
            subDisplayError("MiscCode.js", "subAddToComboForCinema('" + objCombo.id + "', '" + strText + "', '" + strValue + "')", e);
    }
}
function subExecuteCommand(strCommand, intTimeOut)
{
    try
    {
        if(strBrowserType == "ie") {
            if(document.readyState == "complete") {
                if(intTimeOut == 0) {
                    intTimeOut = 500;
                }
                strCommand = "try{" + strCommand + ";}catch(e){alert('Error: '+e.message);};";
                window.setTimeout(strCommand, intTimeOut);
            } else {
                var strCode = "subExecuteCommand(\"" + strCommand + "\", 0);";
                window.setTimeout(strCode, 1000);
            }
        } else {
            strCommand = "try{" + strCommand + ";}catch(e){alert('Error: '+e.message);};";
            window.setTimeout(strCommand, intTimeOut);
        }
    } catch(e) {
        subDisplayError("MiscCode.js", "subExecuteCommand('" + strCommand + "', " + intTimeOut + ")", e);
    }
}

function strTimeStamp()
{
    try {
        var dtmDate = new Date();
        return "&stamp=" + dtmDate.toString();
    } catch(e) {
        subDisplayError("MiscCode.js", "strTimeStamp()", e);
    }
}

function subCheckMode()
{
        try
        {
//            if (strGetCookie("strMode", "") == "DEBUG")
//            {
//                document.getElementById("divError").innerHTML += "DEBUG MODE<BR>";
//                document.getElementById("divError").style.display = "block";
//            }
        }
        catch (e)
        {
            subDisplayError("MiscCode.js", "subCheckMode()", e);
        }
 }
 
 function blnCheckDetails(){
    try{
        var frm = document.getElementById('frmLogin');
        if(frm.txtEmailID.value == ""){
            alert("Please enter your EmailID");
            frm.txtEmailID.focus()
            return false;
        }
        else if(frm.txtPassword.value == ""){
            alert("Please enter your Password");
            frm.txtPassword.focus()
            return false;
        }
        return true;
    }
    catch(e){
		subDisplayError("MiscCode.js", "blnCheckDetails()", e);
	}
}

function blnValidateUser()
{
    try
    {
        var frm = document.getElementById('frmRegister');
        if(frm.txtFName.value == "")
        {
            alert('Please Enter First Name');
            frm.txtFName.focus();
            return false;
        }
        else if(frm.txtLtName.value == "")
        {
            alert('Please Enter Last Name');
            frm.txtLtName.focus();
            return false;
        }   
        else if(frm.txtEmail.value == "")
        {
            alert('Please Enter Email Id');
            frm.txtEmail.focus();
            return false;
        }
        else if((frm.txtEmail.value.search("@") > 0) == false)
        {
            alert('Please Enter Valid Email Id');
			frm.txtEmail.focus();
			return false;
        }
        else if(frm.txtPass.value == "")
        {
            alert('Please Enter Password');
			frm.txtPass.focus();
			return false;
        }
        else if(frm.txtAddress1.value == "")
        {
            alert('Please Enter Address1');
			frm.txtAddress1.focus();
			return false;
        }
        else if(frm.txtAddress3.value == "")
        {
            alert('Please Enter Zip Code');
			frm.txtAddress3.focus();
			return false;
        }
        else if(isNaN(frm.txtAddress3.value))
        {
            alert('Zip Code Should Be Numeric');
			frm.txtAddress3.focus();
			return false;
        }
        else if(frm.txtAddress3.value.length != 5)
        {
            alert('Zip Code must be 5 digits');
			frm.txtAddress3.focus();
			return false;
        }
        else if(frm.txtPhone.value == "")
        {
            alert('Please Enter Phone No.');
			frm.txtPhone.focus();
			return false;
        }
        else if(isNaN(frm.txtPhone.value))
        {
            alert('Home Number Should Be Numeric');
			frm.txtAddress3.focus();
			return false;
        }
        else if(frm.txtMobile.value == "")
        {
            alert('Please Enter Mobile No.');
			frm.txtMobile.focus();
			return false;
        }
        else if(isNaN(frm.txtMobile.value))
        {
            alert('Mobile Number Should Be Numeric');
			frm.txtAddress3.focus();
			return false;
        }
        else if(frm.chkBox.checked == false)
        {
            alert('Please check Terms & Conditions');
			return false;
        }
        return true;
    }
    catch(e){
		subDisplayError("MiscCode.js", "blnValidateUser()", e);
	}
}

function subSubmitUser()
{
    try
    {
        if(document.getElementById("tblRegister"))
        {
            if(blnValidateUser() == true)
            {
                frmRegister.submit();
            }
        }
    }
    catch(e){
		subDisplayError("MiscCode.js", "subSubmitUser()", e);
	}
}

function subReset()
{
    try
    {
        frmRegister.txtFName.value = "";
        frmRegister.txtLtName.value = "";
        frmRegister.txtEmail.value = "";
        frmRegister.txtPass.value = "";
        frmRegister.txtDOB.value = "";
        frmRegister.txtAddress1.value = "";
        frmRegister.txtAddress2.value = "";
        frmRegister.txtAddress3.value = "";
        frmRegister.txtPhone.value = "";
        frmRegister.txtMobile.value = "";
//        frmRegister.txtGenre.value = "";
    }
    catch(e){
		subDisplayError("MiscCode.js", "subReset()", e);
	}
}

function subSetCursor(objElement, strCursor){
    try{
        switch(strBrowserType){
            case "ie":
            if(strCursor.toLowerCase() == "hand"){
                strCursor = "pointer";
            }
            break;
            case "ff":
            if(strCursor.toLowerCase() == "hand"){
                strCursor = "pointer";
            }
            break;
            }
            objElement.style.cursor = strCursor;
        } 
    catch(e){
    subDisplayError("MiscCode.js", "subSetCursor(" + objElement.id + ", '" + strCursor + "')", e);
    }
}
