var statusDiv = false;//check dynamic div status default it is not created
var getDataVar = '';// tmp variable for storing field list

// function for validating field through ajax
//@param:string form name
//@param:string field list separated with "~"
//@param:string path example "../"
//@return:boolean false
function validateField(frm,fldlist,path,callFunc)
{
        var field_arr = fldlist.split("~");
        if(!statusDiv)
        {
                if(!document.getElementById("div_success_status"))
                {
                        statusDiv = document.createElement('DIV');
                        statusDiv.setAttribute('id',"div_success_status");
                        document.body.appendChild(statusDiv);
                        document.getElementById("div_success_status").style.display="none";
                }
        }
        //document.getElementById("div_success_status").innerHTML="";

        var params="";
        var ele_value="";
        for(i=0;i<field_arr.length;i++)
        {
                if(field_arr[i].indexOf("[]")>=0)
                {

                        ele = eval("document.getElementById('"+field_arr[i]+"')");
                        alert(ele.type);
						if(!ele)
                        {
                                var ele = eval("document."+frm+".elements['"+field_arr[i]+"']");
                                if(ele.type=="checkbox")
                                {
                                        for(z=1;z<ele.length;z++)
                                        {
                                                if(ele[k].checked==true)
                                                {
                                                        ele_value += ele[k].value+"-";
                                                }
                                        }
                                }
                        }
                        else
                        {
                                if(ele.type=="select-multiple")
                                {
                                       // alert("first");
                                        for(k=1;k<ele.options.length;k++)
                                        {
                                                if(ele.options[k].selected)
                                                {
                                                        ele_value += ele.options[k].value+"-";
                                                }
                                        }

                                }
                                else if(ele.type=="checkbox")
                                {
                                        for(z=1;z<ele.length;z++)
                                        {
                                                if(ele[k].checked==true)
                                                {
                                                        ele_value += ele[k].value+"-";
                                                }
                                        }
                                }
                        }
                }
                else
                {

                        var ele = eval("document."+frm+"."+field_arr[i]);

                        if(ele)
                        {
                                if(ele.type=="text" || ele.type=="textarea" || ele.type=="password" || ele.type=="select-one")
                                {
                                        ele_value = ele.value;
                                }
                                else if(ele.type=="select-multiple")
                                {
                                        for(j=0;j<ele.length;j++)
                                        {
                                                if(ele[j].selected)
                                                {
                                                        ele_value += ele[j].value+"-";
                                                }
                                        }

                                }
                                else if(ele.type=="checkbox" && ele.checked)
                                        ele_value=1;
                                else
                                        ele_value = ele.value;
                        }
                }
                if(ele)
                        params += field_arr[i]+"="+ele_value+"&";

        }

        params += "rand="+Math.random();
        if(!path)
                path='';
        if(!callFunc)
        {
                loadXMLDoc(path+"view/validate.php",params,"POST","setTimeout(\"getStatus('"+frm+"')\",\"1000\");");
                setTimeout("apply_error_style()", 1000);
                return false;
        }
        else
        {
            loadXMLDoc(path+"view/validate.php",params,"POST","setTimeout(\""+callFunc+"\",\"100\");");
                setTimeout("apply_error_style()", 1000);
                return false;
        }

}

// function for getting value of div_success_status
// @param:string form name
// @return:boolean if status is success then form submitted and return true else return false
function getStatus(frm)
{

        fm = eval("document."+frm);
        if(document.getElementById("div_success_status").innerHTML=="success")
        {
                if(document.getElementById("showloadimg")){

                document.getElementById("showloadimg").style.position="absolute";
                document.getElementById("showloadimg").innerHTML="<p class='loading'>Saving...</p>";
                fm.submit();
                return true;
                }else{
                        fm.submit();
                        return true;
                }

        }
        return false;
}

// function for inserting data before data insert
function insertData(frm,tbl,fldlist,actionFile,actionFor,getDataDiv,loadingImgDiv)
{
        var field_arr = fldlist.split("~");
        if(!statusDiv)
        {
                if(!document.getElementById("div_success_status"))
                {
                        statusDiv = document.createElement('DIV');
                        statusDiv.setAttribute('id',"div_success_status");
                        document.body.appendChild(statusDiv);
                        document.getElementById("div_success_status").style.display="none";
                }
        }

        var params="table="+tbl+"&act=insert&frm="+frm+"&divname=div_"+frm+"_msg&";

        for(i=0;i<field_arr.length;i++)
        {
                var ele = eval("document."+frm+"."+field_arr[i]);
                var ln=ele.length;
                var ele_value="";
                if(ln>1)
                {
                        if(ele.type=="select-multiple")
                        {
                                for(j=0;j<ln;j++)
                                {
                                        if(ele[j].selected)
                                        {
                                                ele_value += ele[j].value+"-";
                                        }
                                }

                        }
                        else
                        {
                                for(j=0;j<ln;j++)
                                {
                                        if(ele[j].checked || ele[j].selected)
                                        {
                                                ele_value=ele[j].value;
                                                break;
                                        }
                                }
                        }
                }
                else
                {
                        if(ele.type=="checkbox" && ele.checked)
                                ele_value=1;
                        else
                                ele_value = ele.value;
                }

                if(ele)
                        params += field_arr[i]+"="+ele_value+"&";

        }


        params += "rand="+Math.random();
        loadData(loadingImgDiv);
        loadXMLDoc(actionFile,params,"POST","setTimeout(\"getData('"+frm+"','"+tbl+"','"+fldlist+"','"+getDataDiv+"','"+actionFile+"','"+loadingImgDiv+"')\",\"500\");");
        /*#######################
        this section added by raveesh
        description : this section call the function to clear value inserted by user in vocabulary,meaning in add lesson step1

        */

        clearfieldvalue();

        /*
        end
        */
        return false;
}
function clearfieldvalue(){
        if(document.getElementById("meaning")!= null)
        {
                document.getElementById("meaning").value='';

        }
        if(document.getElementById("vocabulary")!= null)
        {
                document.getElementById("vocabulary").value='';

        }


}

function editData(frm,tbl,id,fldList,div_name,actionFile)
{
        var params="table="+tbl+"&frm="+frm+"&act=update&id="+id+"&";
        var field_arr = fldList.split("~");
        for(i=0;i<field_arr.length;i++)
        {
                var ele = eval("document."+frm+"."+field_arr[i]);
                var ln=ele.length;
                var ele_value="";
                if(ln>1)
                {
                        if(ele.type=="select-multiple")
                        {
                                for(j=0;j<ln;j++)
                                {
                                        if(ele[j].selected)
                                        {
                                                ele_value += ele[j].value+"-";
                                        }
                                }

                        }
                        else
                        {
                                for(j=0;j<ln;j++)
                                {
                                        if(ele[j].checked || ele[j].selected)
                                        {
                                                ele_value=ele[j].value;
                                                break;
                                        }
                                }
                        }
                }
                else
                {
                        if(ele.type=="checkbox" && ele.checked)
                                ele_value=1;
                        else
                                ele_value = ele.value;
                }

                if(ele)
                {
                        params += field_arr[i]+"="+ele_value+"&";
                }

        }

        params += "rand="+Math.random();

        loadXMLDoc(actionFile,params,"POST","setTimeout(\"getData('"+frm+"','"+tbl+"','"+getDataVar+"','"+div_name+"','"+actionFile+"')\",\"500\");");
        return false;
}

function getData(frm,tbl,fldList,div_name,actionFile,loadingImgDiv)
{

        if(loadingImgDiv!=null)
                unloadData(loadingImgDiv);
        var editFlag = 1;
        if(document.getElementById("div_success_status"))
        {
                if(document.getElementById("div_success_status").innerHTML=="success")
                {
                        editFlag = 1;
                }
                else
                {
                        editFlag = 0;
                }
        }

        getDataVar = fldList;
        if(editFlag)
        {
        var params="table="+tbl+"&act=get&frm="+frm+"&divname="+div_name+"&";
        var field_arr = fldList.split("~");
        for(i=0;i<field_arr.length;i++)
        {
                var ele = eval("document."+frm+"."+field_arr[i]);
                var ln=ele.length;
                var ele_value="";
                if(ln>1)
                {
                        if(ele.type=="select-multiple")
                        {
                                for(j=0;j<ln;j++)
                                {
                                        if(ele[j].selected)
                                        {
                                                ele_value += ele[j].value+"-";
                                        }
                                }

                        }
                        else
                        {
                                for(j=0;j<ln;j++)
                                {
                                        if(ele[j].checked || ele[j].selected)
                                        {
                                                ele_value=ele[j].value;
                                                break;
                                        }
                                }
                        }
                }
                else
                {
                        if(ele.type=="checkbox" && ele.checked)
                                ele_value=1;
                        else
                                ele_value = ele.value;
                }

                if(ele)
                        params += field_arr[i]+"="+ele_value+"&";

        }

        params += "rand="+Math.random();
        //loadData(div_name);

        loadXMLDoc(actionFile,params,"POST","");
        }
        return false;
}

function loadData(divName)
{
        //document.getElementById("div_lang_speak").style.display="block";
        div_ele = eval("document.getElementById('"+divName+"')");
        div_ele.style.display="block";
        div_ele.innerHTML="<p class='loading'>Loading...</p>";
}

function loadDelete(divName)
{
        //document.getElementById("div_lang_speak").style.display="block";
        div_ele = eval("document.getElementById('"+divName+"')");
        div_ele.style.display="block";
        div_ele.innerHTML="<p class='loading'>Deleting...</p>";
}

function unloadData(divName)
{
        div_ele = eval("document.getElementById('"+divName+"')");
        div_ele.innerHTML="";
        div_ele.style.display="none";
}

function deleteData(frm,tbl,id,div_name,actionFile)
{
        var params="table="+tbl+"&act=delete&frm="+frm+"&id="+id+"&";
        params += "rand="+Math.random();

        if(document.getElementById("div_"+getDataVar))
        {
                loadDelete("div_"+getDataVar);
                loadXMLDoc(actionFile,params,"POST","setTimeout(\"unloadData('div_"+getDataVar+"');\",\"50\");setTimeout(\"getData('"+frm+"','"+tbl+"','"+getDataVar+"','"+div_name+"','"+actionFile+"')\",\"100\");");
        }
        else
        {
                loadXMLDoc(actionFile,params,"POST","setTimeout(\"getData('"+frm+"','"+tbl+"','"+getDataVar+"','"+div_name+"','"+actionFile+"')\",\"100\");");
        }
        return false;
}

function getResult(actionFor,divName,loadingImgDiv)
{
        if(document.getElementById("div_success_status").innerHTML=="success")
        {
                if(loadingImgDiv!=null)
                unloadData(loadingImgDiv);
                div_ele = eval("document.getElementById('"+divName+"')");
                div_ele.innerHTML="Record "+actionFor+" successfully";
        }
        else
        {
                if(loadingImgDiv!=null)
                unloadData(loadingImgDiv);
                div_ele = eval("document.getElementById('"+divName+"')");
                div_ele.innerHTML="";
        }

}

// divList="divName1:0~divName2:1";
// 0 for hide, 1 for show
function showHide(divList)
{
        var div_arr = divList.split("~");
        for(i=0;i<div_arr.length;i++)
        {
                var div_id_arr = div_arr[i].split(":");
                div_ele = eval("document.getElementById('"+div_id_arr[0]+"')");
                if(div_id_arr[1]=="0")
                        div_ele.style.display="none";
                else
                        div_ele.style.display="block";
        }
}
// for show load image during submit page by sandeep
function show_load_image()
{
        document.getElementById("showloadimg").style.position="absolute";
        document.getElementById("showloadimg").innerHTML="<p class='loading'>Saving</p>";
}

//-----------------------Start Of Ticket No.128------------------
//Auther:Khurram
//Reference:Tciket No.128
//Comments:This fucntion has been added to display user a confirmation message in the form of Yes or No;

function DispalyMessageBox(Msg)
{
        var text=Msg
        return confirm(text);
}
//-----------------------End Of Ticket No.128------------------




function apply_error_style() {
    // apply class=error to the parent LI element of that tag
    $('li').removeClass('error');
    $('p.error~div:not(:empty)').parents('li').addClass('error');
}