﻿var staticHandlerPath = "/modules/225/PartialRenderHandler.aspx";
var asmxPath = "/soap/partialrender.asmx/GetContent?";
var editorPath = "/editor";
var webSite = "";
var siteName = "";
var handlerPage; 
var links = new Array();
var linksCount = 0;
var tagId;

function PartialRenderAjax()
{
    try
    {
        partialRenderLoading();
    }
    catch(ex){}  
}
function PartialRender(aHref, divId)
{     
    try
    {
        partialRenderLoading();
    }
    catch(ex){}  
    tagId   = divId;
    
    var divObj      = document.getElementById(divId);    
      
    webSite         = _gAtt(divObj,"webSite");         
    siteName        = _gAtt(divObj,"siteName");    
    handlerPage     = "/" + siteName + staticHandlerPath;    
    
    var href = aHref.href;    
    if(href.indexOf('javascript:') > -1)
    {
        var script = Replacefun(href, 'javascript:', '');
        if(script.indexOf('history.back') > -1)
        {
            var number =   Replacefun(script, 'history.back(', '');          
            number =   Replacefun(number, ')', '');
            if(number == '')
                number = -1;            
            if(linksCount == 0)
               links[0] = window.location.href; 
            //href = links[linksCount - 1];    
            href = links[linksCount + number - 1];    
        }
        else
        {
            alert('Not Supported href: ' + href );
        }
    }
    else
    {
    }      
    links[linksCount] = href;    
    linksCount++; 
    aHref.href = 'javascript:getContent("' + aHref.id + '","' + href +'","'+ divId +'","this")';    
}

//http://pc-in-binish/test1/binishtest/pt/?pr_moduleid=100&pr_position=0&pr_parentpath=/test1/binishtest/&pr_divid=wer
function replacePageUrl(source,newPage)
{
    var domain = webSite.split('/')[0] + "//" + webSite.split('/')[2];
    var baseUrl = source.split("?")[0];
    var newUrl =  Replacefun(source, baseUrl, newPage);
    var temp = tagId.split("_");
    var position = temp[temp.length - 1];  
    var moduleid = temp[temp.length - 2];
    var parentPath = Replacefun(window.location.href.split("?")[0],domain,'');
    if(source.indexOf('?') > -1)
        newUrl += '&';
    else
        newUrl += '?';
    newUrl += 'pr_moduleid='+ moduleid +'&pr_position='+ position +'&pr_parentpath='+ parentPath +'&pr_divid='+ tagId +'';
    newUrl = domain + newUrl;
    return newUrl;
}

function _gAtt(object,attribute)
{
    if(object.getAttributeNode(attribute) != null)
    {
        //return object.attributes[attribute].value;
        return object.getAttributeNode(attribute).value;
    }else if(object.getAttribute(attribute) != null){
        return object.getAttributeNode(attribute);
    }         
    return null;              
}
function GetXmlHttpObject(handler)
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}
	return objXMLHttp
}
var contentId;
function getContent(hrefId,href,id,hrefObject)
{    
    var url = webSite + editorPath + asmxPath;
    sUrl = escape(replacePageUrl(href,handlerPage));
    url += 'url=' + sUrl + '&';
    url += 'divId=' + id;
	contentId = id;	
	doAjax(url); 
	//var hrefObject 	= document.getElementById(hrefId);
	hrefObject.href = href;	
}
function doAjax(url)
{
    xmlHttp=GetXmlHttpObject(); 
    xmlHttp.onreadystatechange=stateChangedGetContent;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);    
}
function stateChangedGetContent()
{
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 		
		document.getElementById(contentId).innerHTML = RestoreHTML(xmlHttp.responseText);			
		try
        {
            partialRenderLoaded();
        }
        catch(ex){} 	
	}
}

function RestoreHTML(strvalue)
{
	var temp = strvalue;
	temp = Replacefun(temp,'&amp;','&'); 
	temp = Replacefun(temp,'&lt;','<');
	temp = Replacefun(temp,'&gt;','>');
	return temp;
}
function ChangeHTML(strvalue)
{
var temp = strvalue;
temp = Replacefun(temp,'&','&amp;'); 
temp = Replacefun(temp,'<','&lt;');
temp = Replacefun(temp,'>','&gt;');
return temp;

}
function Replacefun(s,replaceFrom,replaceTo)
{
	var b,i,r_s;
	if(s == '')
		return s;
	b = s.split(replaceFrom);
	r_s='';
	if(b.join('') == s)
		return s; 
	for(i=0;i<b.length;i++)
	{
		r_s=r_s+b[i]+replaceTo;
	}
	return(r_s.substr(0,r_s.length-replaceTo.length));
}