function loadJSON(url) {
	var headID = document.getElementsByTagName("head")[0];
	var newScript = document.createElement('script');
	newScript.type = 'text/javascript';
	newScript.src = url;
	headID.appendChild(newScript);
}

function processJSON(JSONData, elTarget, domain, type) {
	var ref = document.getElementById(elTarget);
	if (ref) {
		if (type == '500px') {
			ref.innerHTML = generateHtml500px(JSONData, domain);			
		} else if (type == '250px') {
			ref.innerHTML = generateHtml250px(JSONData, domain);	
		} else if (type == '160px') {
			ref.innerHTML = generateHtml160px(JSONData, domain);	
		}
	} else {
		document.writeln('Cannot find element: '+elTarget+'. Please check your widget code.');
	}
}

function bioEl(el) {
	return document.getElementById(el);
}

loadJSON(bioEl('bio_dom').value+'/profileWidget.aspx?pid='+bioEl('bio_pid').value+'&typ='+bioEl('bio_typ').value);


function generateHtml500px(JSONData, domain) {

		var htmlStr = "";

        htmlStr += '<table width="500" cellspacing="0" cellpadding="0" border="0">';

        //Row for content
        htmlStr += '<tr>';

        //Left column
        htmlStr += '<td valign="top" width="50%" style="padding-left:20px;padding-right:20px;">';
        
        
        htmlStr += '<table width="100%" cellspacing="0" cellpadding="0" border="0">';

        //Company name
        htmlStr += '<tr><td valign="top"><div style="_width:210px;max-width:210px;text-align:left;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:24px;color:#000000;">'+JSONData.businessname+'</div></div></td></tr>';

	
        //Keywords
        if (JSONData.keywords.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:10px;"><div style="_width:210px;max-width: 210px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Keyword(s): </div><div style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">'+JSONData.keywords+'</div></div></td></tr>';
        }

        //Location
        if (JSONData.locations.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width: 210px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Location(s): </div><div style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">'+JSONData.locations+'</div></div></td></tr>';
        }
        
        //Website
        if (JSONData.businessurl.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width: 210px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Website: </div><a style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#ff9700;" target="_blank" href="'+JSONData.urlclickthru+'">'+JSONData.businessurl+'</a></div></td></tr>';
        }
       
        //Description
        if (JSONData.description.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:20px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.description+'</div></div></td></tr>';
        }
        
        htmlStr += '<tr><td height="100%">&nbsp;</td></tr>';

        //Call to action
      	htmlStr += '<tr><td valign="top" style="padding-top:10px;"><a href="'+JSONData.recourl+'"><img src="'+JSONData.recobtnurl+'" alt="Recommend this business" title="Recommend this business" border="0"></a></td></tr>';
        htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:9px;color:#ababab;">Recommend this business.</div></td></tr>';

        htmlStr += '<tr><td valign="top" style="padding-top:10px;"><a href="'+JSONData.signupurl+'"><img src="'+JSONData.signupbtnurl+'" alt="Sign up" title="Sign up" border="0"></a></td></tr>';
        htmlStr += '<tr><td valign="top" style="padding-top:5px;padding-bottom:10px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:9px;color:#ababab;">Sign up and get a profile like this - for FREE.</div></td></tr>';

        //Close left column
        htmlStr += '</table>'; 
        htmlStr += '</td>';

        //Right column
        htmlStr += '<td valign="top" width="50%" style="padding-top:10px;padding-left:20px;padding-right:20px;">';
        htmlStr += '<table width="100%" cellspacing="0" cellpadding="0" border="0">';

        //Logo
        htmlStr += '<tr><td valign="top" align="center" style="padding-top:10px;"><img src="'+JSONData.imgurl+'" alt="Profile image" width="'+JSONData.imgwidth+'" height="'+JSONData.imgheight+'"></td></tr>';

		if (JSONData.contactdisplay == 'true') {

            //Contact details header
            htmlStr += '<tr><td valign="top" style="padding-top:25px;padding-bottom:5px;border-bottom:#000000 2px solid;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Contact details</div></td></tr>';

            //Key contact
            if (JSONData.displaycontactname == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Key contact:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactname+'</div></div></td></tr>';
            }
            
            //Email
            if (JSONData.displaycontactemail == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Email:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactemail+'</div></div></td></tr>';
            }
            
            //Tel
            if (JSONData.displaycontacttel == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Tel:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contacttel+'</div></div></td></tr>';
            }
            
            //Address
            if (JSONData.displaycontactaddr == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Address:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactaddr+'</div></div></td></tr>';
            }
           
        }
		
		htmlStr += '<tr><td style="padding-bottom:10px;">&nbsp;</td></tr>';

		//Close right column
        htmlStr += '</table>';
        htmlStr += '</td>';

        //Close content
        htmlStr += '</tr>';

        htmlStr += '</table>';
               

        return htmlStr;
	
}

function generateHtml250px(JSONData, domain) {

		var htmlStr = "";

        htmlStr += '<table width="250" cellspacing="0" cellpadding="0" border="0">';

        //Row for content
        htmlStr += '<tr>';

        //Column
        htmlStr += '<td valign="top" width="100%" style="padding-left:20px;padding-right:20px;">';
        
        
        htmlStr += '<table width="100%" cellspacing="0" cellpadding="0" border="0">';

		//Logo
        htmlStr += '<tr><td valign="top" align="center" style="padding-top:20px;"><img src="'+JSONData.imgurl+'" alt="Profile image" width="'+JSONData.imgwidth+'" height="'+JSONData.imgheight+'"></td></tr>';

        //Company name
        htmlStr += '<tr><td valign="top" style="padding-top:10px;"><div style="_width:210px;max-width:210px;text-align:left;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:24px;color:#000000;">'+JSONData.businessname+'</div></div></td></tr>';

	
        //Keywords
        if (JSONData.keywords.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:10px;"><div style="_width:210px;max-width: 210px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Keyword(s): </div><div style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">'+JSONData.keywords+'</div></div></td></tr>';
        }

        //Location
        if (JSONData.locations.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width: 210px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Location(s): </div><div style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">'+JSONData.locations+'</div></div></td></tr>';
        }
        
        //Website
        if (JSONData.businessurl.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width: 210px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Website: </div><a style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#ff9700;" target="_blank" href="'+JSONData.urlclickthru+'">'+JSONData.businessurl+'</a></div></td></tr>';
        }
       
        //Description
        if (JSONData.description.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:20px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.description+'</div></div></td></tr>';
        }
        
        if (JSONData.contactdisplay == 'true') {

            //Contact details header
            htmlStr += '<tr><td valign="top" style="padding-top:25px;padding-bottom:5px;border-bottom:#000000 2px solid;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Contact details</div></td></tr>';

            //Key contact
            if (JSONData.displaycontactname == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Key contact:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactname+'</div></div></td></tr>';
            }
            
            //Email
            if (JSONData.displaycontactemail == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Email:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactemail+'</div></div></td></tr>';
            }
            
            //Tel
            if (JSONData.displaycontacttel == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Tel:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contacttel+'</div></div></td></tr>';
            }
            
            //Address
            if (JSONData.displaycontactaddr == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Address:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:210px;max-width:210px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactaddr+'</div></div></td></tr>';
            }
           
        }

        //Call to action
      	htmlStr += '<tr><td valign="top" style="padding-top:10px;"><a href="'+JSONData.recourl+'"><img src="'+JSONData.recobtnurl+'" alt="Recommend this business" title="Recommend this business" border="0"></a></td></tr>';
        htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:9px;color:#ababab;">Recommend this business.</div></td></tr>';

        htmlStr += '<tr><td valign="top" style="padding-top:10px;"><a href="'+JSONData.signupurl+'"><img src="'+JSONData.signupbtnurl+'" alt="Sign up" title="Sign up" border="0"></a></td></tr>';
        htmlStr += '<tr><td valign="top" style="padding-top:5px;padding-bottom:10px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:9px;color:#ababab;">Sign up and get a profile like this - for FREE.</div></td></tr>';
		
		htmlStr += '<tr><td style="padding-bottom:10px;">&nbsp;</td></tr>';

		//Close column
        htmlStr += '</table>';
        htmlStr += '</td>';

        //Close content
        htmlStr += '</tr>';

        htmlStr += '</table>';
               

        return htmlStr;
	
}

function generateHtml160px(JSONData, domain) {

		var htmlStr = "";

        htmlStr += '<table width="160" cellspacing="0" cellpadding="0" border="0">';

        //Row for content
        htmlStr += '<tr>';

        //Column
        htmlStr += '<td valign="top" width="100%" style="padding-left:5px;padding-right:5px;">';
        
        
        htmlStr += '<table width="100%" cellspacing="0" cellpadding="0" border="0">';

		//Logo
        htmlStr += '<tr><td valign="top" align="center" style="padding-top:20px;"><img src="'+JSONData.imgurl+'" alt="Profile image" width="'+JSONData.imgwidth+'" height="'+JSONData.imgheight+'"></td></tr>';

        //Company name
        htmlStr += '<tr><td valign="top" style="padding-top:20px;"><div style="_width:150px;max-width:150px;text-align:left;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:18px;color:#000000;">'+JSONData.businessname+'</div></div></td></tr>';

	
        //Keywords
        //if (JSONData.keywords.length > 0) {
			//htmlStr += '<tr><td valign="top" style="padding-top:10px;"><div style="_width:150px;max-width: 150px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Keyword(s): </div><div style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">'+JSONData.keywords+'</div></div></td></tr>';
        //}

        //Location
        //if (JSONData.locations.length > 0) {
			//htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:150px;max-width: 150px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Location(s): </div><div style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">'+JSONData.locations+'</div></div></td></tr>';
        //}
        
        //Website
        if (JSONData.businessurl.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:10px;"><div style="_width:150px;max-width: 150px;overflow:hidden;text-align:left;"><div style="display:inline;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">Website: </div><a style="display:inline;word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#ff9700;" target="_blank" href="'+JSONData.urlclickthru+'">'+JSONData.businessurl+'</a></div></td></tr>';
        }
       
        //Description
        if (JSONData.description.length > 0) {
			htmlStr += '<tr><td valign="top" style="padding-top:20px;"><div style="_width:150px;max-width:150px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.description+'</div></div></td></tr>';
        }
        
        if (JSONData.contactdisplay == 'true') {

            //Contact details header
            htmlStr += '<tr><td valign="top" style="padding-top:25px;padding-bottom:5px;border-bottom:#000000 2px solid;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Contact details</div></td></tr>';

            //Key contact
            if (JSONData.displaycontactname == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Key contact:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:150px;max-width:150px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactname+'</div></div></td></tr>';
            }
            
            //Email
            if (JSONData.displaycontactemail == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Email:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:150px;max-width:150px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactemail+'</div></div></td></tr>';
            }
            
            //Tel
            if (JSONData.displaycontacttel == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Tel:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:150px;max-width:150px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contacttel+'</div></div></td></tr>';
            }
            
            //Address
            if (JSONData.displaycontactaddr == 'true') {
				htmlStr += '<tr><td valign="top" style="padding-top:15px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:11px;color:#000000;">Address:</div></td></tr>';
                htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="_width:150px;max-width:150px;overflow:hidden;"><div style="word-wrap:break-word;text-align:left;font-family:verdana;font-weight:normal;font-size:11px;color:#000000;">'+JSONData.contactaddr+'</div></div></td></tr>';
            }
           
        }

        //Call to action
      	htmlStr += '<tr><td valign="top" style="padding-top:30px;"><a href="'+JSONData.recourl+'"><img src="'+JSONData.recobtnurl+'" alt="Recommend this business" title="Recommend this business" border="0"></a></td></tr>';
        htmlStr += '<tr><td valign="top" style="padding-top:5px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:9px;color:#ababab;">Recommend this business.</div></td></tr>';

        htmlStr += '<tr><td valign="top" style="padding-top:10px;"><a href="'+JSONData.signupurl+'"><img src="'+JSONData.signupbtnurl+'" alt="Sign up" title="Sign up" border="0"></a></td></tr>';
        htmlStr += '<tr><td valign="top" style="padding-top:5px;padding-bottom:10px;"><div style="text-align:left;font-family:verdana;font-weight:bold;font-size:9px;color:#ababab;">Sign up and get a profile like this - for FREE.</div></td></tr>';
		
		htmlStr += '<tr><td style="padding-bottom:10px;">&nbsp;</td></tr>';

		//Close column
        htmlStr += '</table>';
        htmlStr += '</td>';

        //Close content
        htmlStr += '</tr>';

        htmlStr += '</table>';
              
        return htmlStr;
	
}