//PVR Button

function utf8_encode ( string ) {
    // Encodes an ISO-8859-1 string to UTF-8  
    // 
    // version: 812.316
    // discuss at: http://phpjs.org/functions/utf8_encode
    // +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: sowberry
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // +   improved by: Yves Sucaet
    // +   bugfixed by: Onno Marsman
    // *     example 1: utf8_encode('Kevin van Zonneveld');
    // *     returns 1: 'Kevin van Zonneveld'
    string = (string+'').replace(/\r\n/g, "\n").replace(/\r/g, "\n");

    var utftext = "";
    var start, end;
    var stringl = 0;

    start = end = 0;
    stringl = string.length;
    for (var n = 0; n < stringl; n++) {
        var c1 = string.charCodeAt(n);
        var enc = null;

        if (c1 < 128) {
            end++;
        } else if((c1 > 127) && (c1 < 2048)) {
            enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
        } else {
            enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
        }
        if (enc != null) {
            if (end > start) {
                utftext += string.substring(start, end);
            }
            utftext += enc;
            start = end = n+1;
        }
    }

    if (end > start) {
        utftext += string.substring(start, string.length);
    }

    return utftext;
}

function base64_encode( data ) {
    // Encodes string using MIME base64 algorithm  
    // 
    // version: 903.1614
    // discuss at: http://phpjs.org/functions/base64_encode
    // +   original by: Tyler Akins (http://rumkin.com)
    // +   improved by: Bayron Guevara
    // +   improved by: Thunder.m
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Pellentesque Malesuada
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // -    depends on: utf8_encode
    // *     example 1: base64_encode('Kevin van Zonneveld');
    // *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
    // mozilla has this native
    // - but breaks in 2.0.0.12!
    //if (typeof window['atob'] == 'function') {
    //    return atob(data);
    //}
        
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, ac = 0, enc="", tmp_arr = [];

    if (!data) {
        return data;
    }

    data = utf8_encode(data+'');
    
    do { // pack three octets into four hexets
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);

        bits = o1<<16 | o2<<8 | o3;

        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;

        // use hexets to index into b64, and append result to encoded string
        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
    
    enc = tmp_arr.join('');
    
    switch( data.length % 3 ){
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }

    return enc;
}


function dc() {
	
	host = 'digacultura.net';
	//host = 'localhost/digacultura';

	// Check if URL is set on Config
	var check = window.parent.pvr_url;
	
	if(!check) { 
		var url1 = base64_encode(document.URL);
	} else { 
		var url1 = base64_encode(window.parent.pvr_url);
	}
	
	// Check if Title is set on Config
	var title = window.parent.pvr_title;
	if(!title) { 
		var title = ''; 
	} else { 
		var title = '\&title=' + encodeURI(title); 
	}
	
	// Check if Body Text is set on Config
	var bodytext = window.parent.pvr_bodytext;
	if(!bodytext) { 
		var bodytext = ''; 
	} else { 
		var bodytext = '\&bodytext=' + encodeURI(bodytext); 
	}
	


	// Check if Topic is set on Config
	var topic = window.parent.pvr_topic;
	if(!topic) { 
		var topic = ''; 
	} else { 
		var topic = '\&topic=' + encodeURI(topic); 
	}
	
	// Check if Media is set on Config
	var media = window.parent.pvr_media;
	if(!media) { 
		var media = ''; 
	} else { 
		var media = '\&media=' + encodeURI(media); 
	}
	
	// Check if Media is set on Config
	var pvr_window = window.parent.pvr_window;
	if(!pvr_window) { 
		var pvr_window = ''; 
	} else { 
		var pvr_window = '\&window=' + encodeURI(pvr_window); 
	}
	
	// Check if PVR_skin on Config is set
	var checkskin = window.parent.pvr_skin;

	if(!checkskin) {
		var checkskin = 'standard';
        var width = '50';
        var height = '58';
	
	} else if(checkskin == 'standard') { 
        var width = '50';
        var height = '58';
		
	} else if(checkskin == 'compact') { 
		var width = '73';
		var height = '19';
		
	} else if(checkskin == 'compacto') { 
		var width = '73';
		var height = '19';
		
	}
	var pvr_skin = '\&button=' + checkskin;
    
	// Check if background color on Config is set
	var check_background = window.parent.pvr_bgcolor;
    
	if(!check_background) { 
		var pvr_background = 'none'; 
	} else { 
		var pvr_background = window.parent.pvr_bgcolor; 
	}
	var url2= 'http://' + host + '/button?url='+url1+title+bodytext+topic+media+pvr_skin+pvr_window;
	document.write('<iframe style="background:'+pvr_background+';margin:0;padding:0;" name="dc" width="'+width+'" height="'+height+'" scrolling="no" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" src="'+url2+'"></iframe>');	

}

dc();