﻿// GetProducts
function GetAjaxProducts(param,param2, CallBackMethod, CallBackError)
{
    Medyasoft.AjaxServices.GetProducts(param,param2, CallBackMethod, CallBackError);
}

function GetAjaxProductChilds(param, CallBackMethod, CallBackError)
{
    Medyasoft.AjaxServices.GetProductChilds(param, CallBackMethod, CallBackError);
}

function GetAjaxPoll(PollID, BarLength, CallBackMethod, CallBackError)
{
    Medyasoft.AjaxServices.GetPoll(PollID, BarLength, CallBackMethod, CallBackError);
}

function AjaxVotePoll(PollID, Collection, CallBackMethod, CallBackError)
{
    Medyasoft.AjaxServices.PollVote(PollID, Collection, CallBackMethod, CallBackError);
}

//var oldContainer;
var glbContainer;
function GetChilds(CategoryID,ProductID)
{
    var oCont = $get("CatContainer"+CategoryID);
    if(oCont)
    {
        if(glbContainer)
            glbContainer.innerHTML = "";
        glbContainer = oCont;
        GetAjaxProductChilds(ProductID,RenderToChilds,onErrorRenderToChilds);
        //oCont.style.display="block";
    }
}
function RenderToChilds(Result)
{
    var sb = new Sys.StringBuilder();
    if(Result!=null)
    {
        sb.append("<div class=\"opener_product_category\">");
        sb.append(String.format("<div class=\"opener_product_title\">{0}</div>",Result.Title));
        sb.append("<div class=\"cntHome-Products\">");
        sb.append("<div style=\"overflow: hidden;\" class=\"cntProducts\" id=\"scroller_gallerymask\">");
        sb.append("<div class=\"cntProductsInner\" id=\"scroller_gallery\">");
        
        for(var ix in Result.Childs)
        {
            sb.append("<div class=\"prod\">");
            if(Result.Childs[ix].Thb!="")
                sb.append(String.format("<a href=\"Products.aspx?RecID={2}\"><img alt=\"{1}\" src=\"{0}\"/></a><br/>{1}</div>",Result.Childs[ix].Thb,Result.Childs[ix].Title,Result.Childs[ix].ProductID));
            else
                sb.append(String.format("<a href=\"Products.aspx?RecID={1}\">{0}</div>",Result.Childs[ix].Title,Result.Childs[ix].ProductID));
        }
        sb.append("<div class=\"clearer\">&nbsp;</div>");
        sb.append("</div>");
        sb.append("</div>");
        sb.append("<div class=\"cntScrollBar\">");
        sb.append("<div class=\"ArrowLeft\"><img onclick=\"scroller.jump(-1)\" src=\"/images/btnScrollBarArrowLeft.gif\" alt=\"\" title=\"\"></div>");
        sb.append("<div style=\"display: block;\" class=\"Bar\" id=\"scroller_track\" onclick=\"scroller.jumpTrack(event)\">");
        sb.append("<div class=\"Slider\" id=\"scroller_slider\" onmousedown=\"scroller.hold(event)\" onclick=\"scroller.clickBar(event)\"></div>");
        sb.append("</div>");
        sb.append("<div class=\"ArrowRight\"><img onclick=\"scroller.jump(1)\" src=\"/images/btnScrollBarArrowRight.gif\" alt=\"\" title=\"\"></div>");
        sb.append("<div class=\"clearer\">&nbsp;</div>");
        sb.append("</div>");
        sb.append("<div class=\"clearer\">&nbsp;</div>");
        sb.append("</div>");
        sb.append("</div>");
        
        
        glbContainer.style.display="block";
        glbContainer.innerHTML = sb.toString();  
    }
    else
    {
        //sb.append("<h3>Kayıt Bulunamadı!</h3>");
    }
             
   // oCont.innerHTML = sb.toString();
}
function onErrorRenderToChilds()
{
    alert("onErrorRenderToChilds");
}

function FillArray(Result)
{
    if(Result!=null && Result.length>0)
    {
        for(var ix in Result)
        {
            //oProds.push(new Array(Result[ix].ProductID,Result[ix].Title,Result[ix].Icon));
            oProds.push(Result[ix]);
        }
    }
    RenderToProducts(oProds);
}
function RenderToProducts(Result)
{
    var sb = new Sys.StringBuilder();
    var oCont = $get("scroll");
    if(Result!=null && Result.length>0)
    {
        for(var ix in Result)
        {
            sb.append("<div class=\"product\">");
            sb.append(String.format("<img src=\"{0}\" alt=\"{1}\" title=\"{1}\" />",Result[ix].Icon,Result[ix].Title));
            sb.append(String.format("<a href=\"Products.aspx?RecID={0}\" title=\"{1}\">{1}</a>",Result[ix].ProductID,Result[ix].Title));
            sb.append("</div>");
       }
    }
    else
    {
        //sb.append("<h3>Kayıt Bulunamadı!</h3>");
    }
    oCont.innerHTML = sb.toString();
}

function onErrorRenderToProducts()
{
    var oCont = $get("scroll");
    oCont.innerHTML = ""; //"Error";
}

var KeywordInterval = 0;
var KeywordFilter;
var oKeyw;
var oProds = [];
function AttachEventByKeyword(objKeyword,lang)
{   
    GetAjaxProducts("",lang, FillArray, onErrorRenderToProducts);   
    oKeyw = $get(objKeyword);
    //Sys.UI.DomEvent.addHandler(oKeyw,"keyup", Keyword_onKeyUp);
    if(oKeyw)
        Sys.UI.DomEvent.addHandler(oKeyw,"keyup", Keyword_onProgress);
}

function Keyword_onKeyUp(e)
{
    //var objKey = e.target ? e.target : event.srcElement;
    if(oKeyw.value!=KeywordFilter)
    {
          if(KeywordInterval>0)
               window.clearTimeout(KeywordInterval);
          KeywordInterval = window.setTimeout( "Keyword_onProgress()", 700);
    }
    else
    {
          if(KeywordInterval>0)
               window.clearTimeout(KeywordInterval);
    }
}
                    
function Keyword_onProgress(e)
{
    var nProds = [];
    KeywordFilter = oKeyw.value; 
        if(KeywordFilter!="")
        {
            for(var ix in oProds)
            {
                //if(KeywordFilter==oProds[ix].Title.substring(0,KeywordFilter.length))
                if(toCompare(KeywordFilter,oProds[ix].Title))
                    nProds.push(oProds[ix]);    
            }
            RenderToProducts(nProds);
        }
        else
        {
            RenderToProducts(oProds);
        }
    
     //$get("KeyProgress").style.visibility='visible';
     
     //GetAjaxProducts(oKeyw.value, FillArray, onErrorRenderToProducts);
}
function toCompare(v1,v2)
{
    if(v1=="")
        return false;
        
    var res = false;
    if(v2.toLowerCase().indexOf(v1.toLowerCase())!= -1)
       res = true;    
       
    return res;
}

function OpenVideoDialog(FilePath,Params)
{
    var Modal = $find('ModalJS'); 
    if(Modal)
        Modal.show();
    //opening dialog
    
    return false;
}

function CloseDialog()
{
        var Age18 = $find('ModalJS'); 
        Age18.hide(); 
}

var PollContainer;
function AttachEventPolls(PollID, Container)
{   
    PollContainer = document.getElementById(Container);
    GetAjaxPoll(PollID, 150, RenderPoll, RenderPollError);
    //Sys.UI.DomEvent.addHandler(oKeyw,"keyup", Keyword_onProgress);
}

function RenderPoll(Result)
{
    if(Result!=null)
    {
        if(Result.EnableVote)
        {
            //formview
            RenderPollForm(Result, PollContainer);
        }
        else
        {
            //resultview
            RenderPollResult(Result, PollContainer);
        }
    }
}

function RenderPollError(Result)
{
    alert("Err!");
}

function RenderPollForm(Data, Container)
{
    var sb = new Sys.StringBuilder();
    //sb.append("Anket");
    sb.append("<table>");
    for(var ix in Data.Questions)
    {
        sb.append("<tr>");
            sb.append("<td>");
                sb.append(String.format("{0}",Data.Questions[ix].QuestionText));
            sb.append("</td>");
        sb.append("</tr>");
        sb.append("<tr>");
            sb.append("<td>");
                if(Data.Questions[ix].AnswerType=="radio")
                    sb.append(RenderAnswerFormRadio(Data.Questions[ix]));
                else
                    sb.append(RenderAnswerFormCheck(Data.Questions[ix]));
            sb.append("</td>");
        sb.append("</tr>");
    }
    sb.append("<tr>");
        sb.append("<td>");
            sb.append("<input type=\"image\" src=\"/styles/images/sendbut.png\" alt=\"gönder\" value=\"gönder\" onclick=\"Javascript:return onPollVote("+ Data.PollID +");\" />")  ;
        sb.append("</td>");
    sb.append("</tr>");            
    sb.append("</table>");
    Container.innerHTML = sb.toString();
}

function RenderAnswerFormRadio(QDATA)
{
    var sbx = new Sys.StringBuilder();
    sbx.append("<table>");
    for(var ix in QDATA.Answers)
    {
        sbx.append("<tr>");
        sbx.append("<td>");
            sbx.append(String.format("<input id=\"{1}\" type=\"radio\" name=\"{2}\" value=\"{0}\" />", QDATA.Answers[ix].AnswerID, GenerateItemID(QDATA.QuestionID, QDATA.Answers[ix].AnswerID), GenerateItemName(QDATA.QuestionID)));
            sbx.append(String.format("<label for=\"{1}\">{0}</label>",QDATA.Answers[ix].AnswerText, GenerateItemID(QDATA.QuestionID, QDATA.Answers[ix].AnswerID)));
        sbx.append("</td>");
        sbx.append("</tr>")
    }
    sbx.append("</table>");
    return sbx.toString();
}

function RenderAnswerFormCheck(QDATA)
{
    var sbx = new Sys.StringBuilder();
    sbx.append("<table>");
    for(var ix in QDATA.Answers)
    {
        sbx.append("<tr>");
        sbx.append("<td>");
            sbx.append(String.format("<input id=\"{1}\" type=\"checkbox\" name=\"{2}\" value=\"{0}\" />", QDATA.Answers[ix].AnswerID, GenerateItemID(QDATA.QuestionID, QDATA.Answers[ix].AnswerID), GenerateItemName(QDATA.QuestionID)));
            sbx.append(String.format("<label for=\"{1}\">{0}</label>",QDATA.Answers[ix].AnswerText, GenerateItemID(QDATA.QuestionID, QDATA.Answers[ix].AnswerID)));
        sbx.append("</td>");
        sbx.append("</tr>")
    }
    sb.append("</table>");
    return sb.toString();
}

function RenderPollResult(Data, Container)
{
    Container.innerHTML = "";
    
    var sb = new Sys.StringBuilder();
    //sb.append("Anket");
    sb.append("<table>");
    for(var ix in Data.Questions)
    {
        sb.append("<tr>");
            sb.append("<td>");
                sb.append(String.format("{0}",Data.Questions[ix].QuestionText));
            sb.append("</td>");
        sb.append("</tr>");
        sb.append("<tr>");
            sb.append("<td>");
                    sb.append(RenderAnswerResult(Data.Questions[ix]));
            sb.append("</td>");
        sb.append("</tr>");
    }
    sb.append("</table>");
    sb.append(String.format("<div style='padding-left:2px' class='AnswerText'>Toplam katılan : <span>{0} kişi</span></div>",Data.TotalVote));
    Container.innerHTML = sb.toString();
}

function RenderAnswerResult(QDATA)
{
    var sb = new Sys.StringBuilder();
    sb.append("<table cellspacing=\"0\" cellpadding=\"0\">");
    for(var ix in QDATA.Answers)
    {
        sb.append("<tr>");
            sb.append("<td>");
            sb.append("<div style=\"background-color:#1D1D1E;width:150px;\">");
            sb.append(String.format("<img src=\"/images/polls/b{0}.jpg\" alt=\"%{1}\" style=\"height:12px; width:{2}px;\" />", (ix), QDATA.Answers[ix].PercentValue, QDATA.Answers[ix].BarValue));
            sb.append("</div>");
            sb.append("</td>");
            sb.append("<td style=\"padding-left:5px;\">");
            sb.append(String.format("<span style=\"font-weight:bold;\">%{0}</span>", QDATA.Answers[ix].PercentValue));
            sb.append("</td>");
        sb.append("</tr>")
        sb.append("<tr>");
            sb.append("<td colspan=\"2\" class=\"AnswerTextTD\">");
            //sb.append(String.format("<span style=\"font-weight:bold;\">%{0}</span> <span>{1}</span>", QDATA.Answers[ix].PercentValue, QDATA.Answers[ix].AnswerText));
            sb.append(String.format("<span class=\"AnswerText\">{0}</span>", QDATA.Answers[ix].AnswerText));
            sb.append("</td>");
        sb.append("</tr>")
        
    }
    sb.append("</table>");
    return sb.toString();
}

function onPollVote(PollID)
{
    var PollInputs = PollContainer.getElementsByTagName("input");
    var IsVoted = false;
    var StrCollection = "";
    for(var i=0;i<PollInputs.length;i++)
    {
        var obj = PollInputs[i];
        if(obj.id)
        {
            if(obj.id.substring(0,9)== "OzziePoll" && obj.checked)
            {
                var q=0; 
                var a=0;
                var strArr = obj.id.split("_");
                if(strArr[1])
                    q = strArr[1];
                if(strArr[2])
                    a = strArr[2];
                if(q>0 && a>0)
                {
                    IsVoted = true;
                    if(StrCollection=="")
                        StrCollection = q + "," + a;
                    else
                        StrCollection += "|" + q + "," + a;
                }
            }
        }
    }
    if(IsVoted)
    {
        AjaxVotePoll(PollID, StrCollection, OnVoteSuccess, OnVoteError);
    }
        
    return false;
}

function OnVoteSuccess(res)
{
    if(res==-1)
        alert("Err!");
    else
        GetAjaxPoll(res, 150, RenderPoll, RenderPollError);
}
function OnVoteError(res)
{
    
}

function GenerateItemID(qid, id)
{
    return String.format("OzziePoll_{0}_{1}", qid, id);
}

function GenerateItemName(qid)
{
    return String.format("OzziePoll${0}", qid);
}

if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();