
//$(document).ready (function() {
$(window).bind('load', function() {
var brokenURLArray;
var arrayCount;
var i;
var imgArray;
var brokenURL;
$('img').load( function() {
});
imgArray = $('img');
brokenURLArray = new Array();
arrayCount = 0;
if ($('img') != undefined && $('img').length > 0) {
    for(i = 0; i < imgArray.length; i++){
        if( ((imgArray[i].className).indexOf("partImage") != -1) && ($('#320_image_container').length <= 0) ){
            if(!IsImageOk(imgArray[i])){
                // broken image has found - process it
                brokenURL = prepareBrokenImageURLObject((imgArray[i]).src, (imgArray[i]).parentNode.href);
                brokenURLArray[arrayCount++] = brokenURL;
            }
        } else if ( (imgArray[i].className).indexOf("partImage") != -1 && ($('#320_image_container').length > 0) ) {
            if(!IsImageOk(imgArray[i])){
                // broken image has found - process it
                brokenURL = prepareBrokenImageURLObject((imgArray[i]).src, document.location.href);
                brokenURLArray[arrayCount++] = brokenURL;
            }
        }
    }
    BrokenImageLinkManager.addBrokenURLsList(brokenURLArray);
}
});

function prepareBrokenImageURLObject(url, href){
	var brokenImageURLObject;
	var partNum = "";
	var prodGroupId = "";
	var supplId = "";
	values1 = href.split("?");
	if(values1[1] != undefined){
		values2 = values1[1].split("&");
		for(var i = 0; i < values2.length; i++){
			var tmpStr = getSplittedName(values2[i]);
			if (tmpStr != undefined) {
				if("partNumber".indexOf(tmpStr) != -1) {
					partNum = getSplittedValue(values2[i]);
				} else if("productGroupId".indexOf(tmpStr) != -1) {
					prodGroupId = getSplittedValue(values2[i]);
				} else if("supplierId".indexOf(tmpStr) != -1) {
					supplId = getSplittedValue(values2[i]);
				}
			}
		}
	}
	brokenImageURLObject = {brokenImageURL:url, partNumberStr:partNum, productGroupIdStr:prodGroupId, supplierIdStr:supplId};
	return brokenImageURLObject;
}

function getSplittedValue(splitStr){
	var result;
		var temp = splitStr.split("=");
		if(temp[1] != undefined){
			result = temp[1];
		}
		return result;
}
function getSplittedName(splitStr){
	var result;
		var temp = splitStr.split("=");
		if(temp[0] != undefined){
			result = temp[0];
		}
		return result;
}

function IsImageOk(img) {
    // During the onload event, IE correctly identifies any images that
    // weren't downloaded as not complete. Others should too. Gecko-based
    // browsers act like NS4 in that they report this incorrectly.
    if (!img.complete) {
        return false;
    }

    // However, they do have two very useful properties: naturalWidth and
    // naturalHeight. These give the true size of the image. If it failed
    // to load, either of these should be zero.
    if (typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
        return false;
    }

    // No other way of checking: assume it's ok.
    return true;
}
