﻿/*
    General Javascript Library
    License: Compunix LLC.
    Website: http://www.compunix.us/
    Creator: Adam Scholfield
*/

/* Form Manipulation */
function buildParams(form)
{
    var params = '';
    for (var i=0;i<form.length;i++)
    {
        params += form.elements[i].name + "=" + escape(form.elements[i].value);
        if(i < form.length)
            params += "&";
    }
    return params;
}
/* Form Manipulation */
/* Shortcut Functions */
function ToggleCheckBox(id)
{
    var box = document.getElementById(id);
    if(box)
    {
        if(box.checked)
            box.checked = false;
        else    
            box.checked = true;
    }
}
/* Shortcut Functions */
/* Ajax Functions */
function submitAjaxForm(form, callback)
{
    var params = buildParams(form);
    sendAJAXRequest(form.action, params, function(transport)
        {
            sendAJAXRequest(window.location, '', function(transport)
            {
                document.body.innerHTML = transport;
                callback();
           });                   
        });
    }
function AjaxReloadPage(url) 
{
    sendAJAXRequest(url, '', function(transport) {
        //document.body.innerHTML = transport.toString().substring(transport.toString().indexOf('<body id="wrapper_outer_homepage">') + '<body id="wrapper_outer_homepage">'.length, transport.toString().indexOf('</body>'));
        var newhtml = transport.toString().substring(transport.toString().indexOf('<div id="STARTAJAXATC"></div>'), transport.toString().indexOf('<div id="ENDAJAXATC"></div>')).replace('class="AddToCartButton"', 'class="AddToCartButton" id="AddToCartButton"').replace('class="AddToWishButton"', 'class="AddToWishButton" id="AddToWishButton"');
        document.getElementById('AJAXATC').innerHTML = newhtml;
        EvalJSBlocks(newhtml);
        //alert(document.getElementById('AddToCartButton').onclick.toString());
        document.getElementById('AddToCartButton').onclick = function() { document.getElementById('AddToCartButton').parentNode.submit(); };
        if (document.getElementById('AddToWishButton')) document.getElementById('AddToWishButton').onclick = function() { document.getElementById('IsWishList').value = '1'; document.getElementById('AddToWishButton').parentNode.submit(); };
        //alert(document.getElementById('AddToCartButton').onclick.toString());
    });
}

function AjaxCall(divid, url)
{
    sendAJAXRequest(url, '', function(response) {
            document.getElementById(divid).innerHTML = '' + response;
        });
}
/* Ajax Functions */
/* Key Control Functions */
function CatchEnter(e)
{ 
    var characterCode;
        if( e && e.which)
        { 
            e = e;
            e.cancel = true;
            characterCode = e.which;
        }
        if(e && window.event)
        {
            e = window.event;
            e.cancel = true;
            characterCode = e.keyCode;
        }
    return characterCode == 13;
}
/* Key Control Functions */
/* Cookie Functions */        
function createCookie(name,value,days)
{
    if (days)
    {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) 
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) 
    {
        var c = ca[i];
        while (c.charAt(0)==' ') 
            c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) 
            return c.substring(nameEQ.length,c.length);
    }
    return '';
}

function LoadCookie(name)
{
    var result = '';
    if(readCookie(name).length > 0)
    {
        result = readCookie(name);
    }
    return result;
}
function eraseCookie(name) 
{
    createCookie(name,"",-1);
}
/* Cookie Functions */
/*Searching*/
function getElementsByTagPat(tag, pattern)
{
    var results = new Array();
    var allElements  = document.getElementsByTagName(tag);
    for(var index = 0;index < allElements.length; index++)
    {
        if(allElements[index].name.indexOf(pattern) > -1)
        {
            results.push(allElements[index]);
        }
    }
    return results;
}
/*Searching*/
    
    
    
    
    
/**********************************
    Custom Functions go here
    Creator: Adam Scholfield
    License: Adam Scholfield, Compunix LLC.
*********************************/        

//onload();
function formsOnload()
{
    var forms = getElementsByTagPat('form', 'AddToCart');
    for(var index=0;index< forms.length; index++)
    {
        forms[index].submit = function(){submitAjaxForm(this, onload);}
    }
}


/************************
  Creator: Petr Dluhos
  License: Petr Dluhos, Compunix LLC.  
*************************/
function EvalJSBlocks(gen_html) {
    var stripped_html = gen_html;
    var js_start = 0;
    do {
        js_start = stripped_html.toLowerCase().indexOf('<' + 'script', 0);
        if (js_start > -1) {
            var js_start2 = stripped_html.indexOf('>', js_start) + 1;
            var js_end = stripped_html.toLowerCase().indexOf('<' + '/' + 'script' + '>', js_start);
            var js_end2 = stripped_html.indexOf('>', js_end) + 1;
            var gen_js = stripped_html.substring(js_start2, js_end);
            stripped_html = stripped_html.substring(0, js_start) + stripped_html.substring(js_end2, stripped_html.length);
            gen_js = gen_js.replace('<' + '!--', '');
            gen_js = gen_js.replace('/' + '/--' + '>', '');
            eval(gen_js);
        }
    }
    while (js_start > -1);

    return stripped_html;
}

