/************************************************************************************************************
Ajax dynamic content
Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

Dhtmlgoodies.com., hereby disclaims all copyright interest in this script
written by Alf Magne Kalleland.

Alf Magne Kalleland, 2006
Owner of DHTMLgoodies.com


************************************************************************************************************/	

var enableCache = true;
var jsCache = new Array();

var dynamicContent_ajaxObjects = new Array();

function ajax_showContent(divId,ajaxIndex,url,callbackOnComplete)
{
	var targetObj = document.getElementById(divId);
	targetObj.innerHTML = dynamicContent_ajaxObjects[ajaxIndex].response;
	if(enableCache){
		jsCache[url] = 	dynamicContent_ajaxObjects[ajaxIndex].response;
	}
	dynamicContent_ajaxObjects[ajaxIndex] = false;
	
	ajax_parseJs(targetObj);
	
	if(callbackOnComplete) {
		executeCallback(callbackOnComplete);
	}
}

function executeCallback(callbackString) {
	if(callbackString.indexOf('(')==-1) {
		callbackString = callbackString + '()';
	}
	try{
		eval(callbackString);
	}catch(e){

	}
	
	
}



function ajax_loadContent(divId,url,callbackOnComplete,sku,strNumber_stones,str_Avg_sidestone_color,str_Avg_stone_clairty,total_carat_weight,price,metal_type,product_type,str_centre_stone_type,str_side_stone_type,str_sale_price,str_Center_stone_Carat_wt,str_side_stone_carat_wt,str_Approx_width,str_minimium_centre_stone_color,str_minimium_centre_stone_clarity,str_diamond_shape,str_Chain,str_Chain_Length,str_Height)
{
	var str;
if(sku!="")
	{
	str='<tr><td  bgcolor="#efefef" align="left" valign="middle" class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Item Number: </span></td><td bgcolor="#FFFFFF"  style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+sku+'</span></td></tr>';
	}
	if(metal_type!="")
	{
	str=str+'<tr>  <td  bgcolor="#efefef" align="left" valign="middle" class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Metal Type:</span></td><td bgcolor="#FFFFFF"  style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+metal_type+'</span></td></tr>';
	}
	
	
	
	if(str_Chain!="")
	{
	str=str+'<tr>  <td  bgcolor="#efefef" align="left" valign="middle" class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Chain:</span></td><td bgcolor="#FFFFFF"  style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_Chain+'</span></td></tr>';
	}
	
	if(str_Chain_Length!="")
	{
	str=str+'<tr>   <td  bgcolor="#efefef" align="left" valign="middle" class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Chain Length:</span></td><td bgcolor="#EFEFEF"  style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-FFFFFF:none">'+str_Chain_Length+'</span></td></tr>';
	}
	
	if(str_Height!="")
	{
	str=str+'<tr>   <td  bgcolor="#efefef" align="left" valign="middle" class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Height:</span></td><td bgcolor="#FFFFFF"  style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_Height+'</span></td></tr>';
	}
	
	if(str_Approx_width!="")
	{
	str=str+'<tr>  <td  bgcolor="#efefef" align="left" valign="middle" class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none"> Approximate Width:</span></td><td bgcolor="#FFFFFF"  style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_Approx_width+'</span></td></tr>';
	}
	
	if(strNumber_stones != "" || str_Avg_sidestone_color !="" || str_Avg_stone_clairty !="" || price !="" || product_type != "" || total_carat_weight !="" || str_centre_stone_type !="" || str_side_stone_type != "" || str_sale_price!="" || str_Center_stone_Carat_wt!="" || str_side_stone_carat_wt!="" || str_Approx_width!="" ||str_minimium_centre_stone_color!="" || str_minimium_centre_stone_clarity!="" || str_diamond_shape!="" )
	{
	str=str+'<tr>  <td style="FONT-FAMILY:Verdana ;padding:10px 10px; color:#FFF; "   colspan="2"><strong>Diamond Information </strong>';
	str=str+'</td> </tr>';
	}
	else
	{
	str=str+'</td>  <td>&nbsp;</td></tr>';
	}
	//if(sku!="")
	if (str_diamond_shape !="")
	{
		str=str+'<tr><td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Diamond Shape:</span></td><td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_diamond_shape+'</span></td></tr>';
	}
	
	if (strNumber_stones !="")
	{
		str=str+'<tr><td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Number of Diamonds:</span></td><td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+strNumber_stones+'</span></td></tr>';
	}
	
	if (str_minimium_centre_stone_color !="")
	{
	str=str+'<tr> <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none"> Minimum center stone color:</span>  </td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_minimium_centre_stone_color +'</span></td></tr>';
	
	}
	
	if (str_minimium_centre_stone_clarity !="")
	{
	str=str+'<tr> <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none"> Minimum center stone clarity:</span>  </td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_minimium_centre_stone_clarity +'</span></td></tr>';
	
	}
	
	if (str_Avg_sidestone_color !="")
	{
	str=str+'<tr><td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Avg. side stone color:</span>  </td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_Avg_sidestone_color +'</span></td></tr>';
	
	}
	if (str_Avg_stone_clairty !="")
	{
	str=str+'<tr><td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Avg. side stone clairty:</span>  </td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_Avg_stone_clairty +'</span></td></tr>';
	
	}
	if(str_sale_price=="")
	{
	if (price !="")
	{
	str=str+'<tr>   <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Price: </span></td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle" ><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+price+'</span></td></tr>';	
	}
	}
	if(str_sale_price!="")
	{
	if (price !="")
	{
	str=str+'<tr>  <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Original Price: </span></td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle" ><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none"><strike>'+price+'</strike></span></td></tr>'+'<tr>   <td colspan="3"><img src="/images/spacer.gif" width="1" height="1"></td></tr><tr>   <td bgcolor="#FFFFFF">&nbsp;</td>  <td bgcolor="#FFFFFF" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Price: </span></td>  <td bgcolor="#EFEFEF" style="padding-left:2px;" align="left" valign="middle" ><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_sale_price+'</span></td></tr>';	
	}
	}
	if (product_type !="")
	{
	str=str+'<tr> <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Product Type: </span></td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle" ><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+product_type+'</span></td></tr>';
	
	} 
	if (total_carat_weight !="")
	{
		str=str+'<tr>  <td height="18" bgcolor="#efefef" align="left" valign="middle" class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Total Carat Weight:</span></td><td bgcolor="#FFFFFF"  style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+total_carat_weight+'</span></td></tr>';
	}
	
	if (str_centre_stone_type !="")
	{
	str=str+'<tr>  <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Center Stone Type:</span></td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_centre_stone_type +'</span></td></tr>';
	
	}
	if (str_side_stone_type !="")
	{
	str=str+'<tr>   <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Side stone type:</span></td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_side_stone_type +'</span></td></tr>';
	
	}
	
	if (str_Center_stone_Carat_wt !="")
	{
	str=str+'<tr>  <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Center stone Carat weight:</span></td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_Center_stone_Carat_wt +'</span></td></tr>';
	
	}
	
	if (str_side_stone_carat_wt !="")
	{
		
	str=str+'<tr>   <td bgcolor="#efefef" align="left" valign="middle"  class="product" style="padding-left:5px;"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: bold;	TEXT-DECORATION:none">Side stone Carat weight:</span></td>  <td bgcolor="#FFFFFF" style="padding-left:2px;" align="left" valign="middle"><span style="FONT-FAMILY:Verdana;FONT-SIZE: 11px;COLOR: #000000;FONT-WEIGHT: lighter;	TEXT-DECORATION:none">'+str_side_stone_carat_wt +'</span></td></tr>';
	
	}
	
	str=str+'</table>';
	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	document.getElementById(divId).innerHTML = '<table width="230" border="0" cellspacing="1" cellpadding="4"  bgcolor="#ababab"><tr>   <td  width="170" style="FONT-FAMILY:Verdana ;padding:10px 10px; color:#FFF; "  colspan="2"><strong>Necklace Information</strong></td></tr>'+str;
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}

function ajax_parseJs(obj)
{
	var scriptTags = obj.getElementsByTagName('SCRIPT');
	var string = '';
	var jsCode = '';
	for(var no=0;no<scriptTags.length;no++){	
		if(scriptTags[no].src){
	        var head = document.getElementsByTagName("head")[0];
	        var scriptObj = document.createElement("script");
	
	        scriptObj.setAttribute("type", "text/javascript");
	        scriptObj.setAttribute("src", scriptTags[no].src);  	
		}else{
			if(navigator.userAgent.toLowerCase().indexOf('opera')>=0){
				jsCode = jsCode + scriptTags[no].text + '\n';
			}
			else
				jsCode = jsCode + scriptTags[no].innerHTML;	
		}
		
	}

	if(jsCode)ajax_installScript(jsCode);
}


function ajax_installScript(script)
{		
    if (!script)
        return;		
    if (window.execScript){        	
    	window.execScript(script)
    }else if(window.jQuery && jQuery.browser.safari){ // safari detection in jQuery
        window.setTimeout(script,0);
    }else{        	
        window.setTimeout( script, 0 );
    } 
}	
	
	
function evaluateCss(obj)
{
	var cssTags = obj.getElementsByTagName('STYLE');
	var head = document.getElementsByTagName('HEAD')[0];
	for(var no=0;no<cssTags.length;no++){
		head.appendChild(cssTags[no]);
	}	
}
