﻿function FetchCombo(Content,List,ParentListName,OnChangeScript,AddAll){    
   AddAll = isEmpty(AddAll)?0:AddAll;
   var url="Pages/getContent.html?action=GetComboData&ListName="+List+"&OnChangeScript="+OnChangeScript+"&ParentListName="+getComboValue(ParentListName)+"&AddAll=" +AddAll;
   getContent(Content,url,1,'GET');    
}

var historyContainer='',historyUrl='',historyParams='',historyMethod='',historyLeftmenu='',historyMainContent='';
//Belirtilen url'deki içeriği container elementinin içine doldurur. İşlemin başLangıç ve bitişinde raiseEvent fonksiyonuyla durum bildirir.
function getContent(container,url,params,rand,method,historyCall){
rand = (rand == null) ? true : rand;
method = isEmpty(method) ? "GET" : method;

var xmlHttp=newRequest() 
xmlHttp.onreadystatechange=function(){ 
  if(xmlHttp.readyState==4){
		var cnt = getElm(container);
		if(!isEmpty(cnt))
			cnt.innerHTML=xmlHttp.responseText;

		raiseEvent(container,'f',params);
	}
}

if(rand)
	url=url+"&rand="+Math.round (Math.random()*1000);

if(container!='leftMenu' && (historyCall!=1)){
    historyContainer=container;
    historyUrl=url;
    historyParams=params;
    historyMethod=method;
}
if (historyCall!=1){
	try{
		var mCnt=getURLParam('maincontent',url);
		if(!isEmpty(mCnt))
			pageTracker._trackPageview(CULTURE +'-'+mCnt);
		} catch(err){};
	}
raiseEvent(container,'s');
xmlHttp.open(method,ROOT_URL+url+'&ajax=1'+((method == "GET")? params : ''),true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(((method == "GET")? null : params.substring(1)));
}

//Verilen parametrelere göre mainContent içeriğini doldurur. 
function loadMC(mainContent,params,rand,method,vUrl){
    historyMainContent=mainContent;
    params = (params == null) ? '' : params;
	getContent("content","Pages/getContent.html?action=loadcontent&maincontent="+mainContent,params,rand,method)
    if(method!='POST')
    setURLMCParams('maincontent='+mainContent+params,vUrl);
}

function loadEC(mainContent,params,rand,method){
    params = (params == null) ? '' : params;
	getContent("content","Pages/getContent.html?action=getcontent&maincontent="+mainContent,params,rand,method)
}

function loadE(container,mainContent,params,rand,method){

    params = (params == null) ? '' : params;
	getContent(container,"Pages/getContent.html?action=getcontent&maincontent="+mainContent,params,rand,method)
	
}

function loadC(Container,Content,params,rand,method){
    params = (params == null) ? '' : params;
	getContent(Container,"Pages/getContent.html?action=loadcontent&maincontent="+Content,params,rand,method)
	
}
//Verilen parametrelere göre mainContent içeriğini doldurur. 
function loadLM(leftMenu,params,vUrl,historyCall){
  historyLeftmenu=leftMenu;
  setURLParam('leftmenu',leftMenu,vUrl,historyCall);
  getContent('leftMenu','Pages/getContent.html?action=loadLM&leftmenu='+leftMenu,params,false,'GET',historyCall);
}

//Verilen parametrelere göre Ana menü içeriğini doldurur. 
function loadMM(leftMenu,content){
	virtualURL=location.href; 
	loadLM(leftMenu,'',true,'');
	loadMC(content,'',false,'get',true);
	if(virtualURL.indexOf('#')!=-1)
	    {
	    location.href=virtualURL; 
	    addHistory();
	    }
	virtualURL=null;
}
//Herhangi bir içerik getirilirken başLangıç ve bitiş durumunda tetiklenir.
function raiseEvent(container,state,params){
switch(container)
{
	case 'leftmenu':
	//
	break;
	case 'content':
	    if(state=='s'){
	        //document.body.style.cursor='progress';
	        mLS();
	     }
	    else{
	        //document.body.style.cursor='default';	        
	        mLF();
            try{
        	        
                    window.CB_Init();
                }
            catch(e){
    	    
            }	        
	        if(isInArr(params.split('&'),'content','DeleteUserAccount')){
	            loadE('dvLogin','Login','',1);
	        }
	        }
	break;
	case 'dvPoll':
	    if(state=='f'){
	        if(isInArr(params.split('&'),'Screen','VoteResults'))
	        renderPollChart();
	        }
	break;
	case 'dvLogin':
	
	if(state=='f' && getVal('txtLoginSatatusChanged')=='True' && !isEmpty(historyMainContent))
	    loadMC(historyMainContent);
	
	break;
	
}
return;	
}
function isInArr(params,name,value){
    for(var i=0;i<params.length;i++)
    {
        if ( params[i].split('=')[0]==name && params[i].split('=')[1]==value)
        return true;
    }
    return false;
}
function mLS(){
	var div = document.createElement('div');
	div.id = 'mloading';
	setClass(div,'loading');
    
	var content = getElm('content');
	setClass(content,'blur'); 
	content.appendChild(div);
}

function mLF(){
	setClass(getElm('content'),''); 
}

//Yeni bir XMLHttpRequest oluşturur.
function newRequest(){
var xmlHttp;
try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
	catch (e){
try{xmlHttp=new XMLHttpRequest();}
	catch (e){
try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
	catch (e){
		alert("Kullanmakta oldugunuz browser AJAX desteklemiyor!");
		return false;}}}
return xmlHttp;
}